Cross-Site Request Forgery (CSRF) est une méthode d'attaque Web exploitant les vulnérabilités des applications Web. Le terme CSRF peut également faire référence directement à la vulnérabilité elle-même.
Lorsqu'une application Web présente une vulnérabilité CSRF, les attaquants peuvent inciter les utilisateurs légitimes à invoquer des actions involontaires sur le site vulnérable sans le consentement explicite des utilisateurs. Les impacts potentiels incluent des opérations non autorisées telles que la modification des données utilisateur, la suppression ou la modification accidentelle de données, l'exécution de transactions frauduleuses ou le lancement d'actions non autorisées au sein de l' application ciblée.
Une attaque CSRF typique se déroule de la manière suivante :
Pour atténuer les attaques CSRF, les applications doivent valider la légitimité des requêtes POST entrantes. Une approche largement adoptée consiste à mettre en œuvre des jetons appelés valeurs « nonce » (« nombre utilisé une fois »). Un nonce est un identifiant unique généré aléatoirement, intégré dans des formulaires HTTP légitimes en réponse aux demandes des utilisateurs. Lors de la réception des soumissions POST ultérieures, l' application vérifie le nonce pour confirmer l'authenticité et l'intégrité de la demande.
Lors de l'envoi de formulaires en réponse à des requêtes GET légitimes, le serveur inclut une valeur nonce unique et imprévisible. À la réception de la requête POST correspondante du client, l' application vérifie le nonce pour confirmer l'authenticité et la légitimité de la requête.
De plus, les solutions de sécurité telles que les pare-feu application Web (WAF) fournis par F5 BIG-IP Application Security Manager sont très efficaces pour identifier et bloquer les requêtes malveillantes afin d'empêcher l'exploitation des vulnérabilités CSRF.