Embodiments detect cross-site request forgery (CSRF) attacks by monitoring,
mutation, and analysis of suspect requests that are received by an
application server. An engine observes UI interaction, HTTP traffic, and
server-side changes in order to create an initial
list of CSRF candidates (e.g., HTTP requests that could indicate a CSRF
vulnerability). Embodiments may feature a virtualized
server-side platform including sensors deployed for application persistence monitoring. Using inter-
trace analysis, these CSRF candidates are de-composed into their semantic components (e.g., parameter values and classes). By performing value
mutation operations on these components and repeated replay of the resulting HTTP requests, CSRF candidates are tested to see if the underlying HTTP request could be utilized in the context of a CSRF
attack. Subsequent validation and exploitability assessment may reduce the initial
list of suspect candidate requests to only those exploitable cases for which a proof-of-
vulnerability demonstration
exploit can be created.