Sommaire

Cross Site Request Forgery (CSRF)

1. Présentation et risques

Les vulnérabilités de type Cross Site Request Forgery peuvent s’apparenter aux vulnérabilités du type SSRF vu précédemment mais côté client. De plus en plus présentes sur le Web, elles permettent de forcer l’utilisateur à envoyer une requête HTTP à son insu afin de changer son mot de passe, acheter sur un site marchand ou le déconnecter d’une application.

Voici un scénario type d’une attaque CSRF :

images/03EP67.png

L’attaquant envoie un e-mail à un utilisateur avec un lien malicieux mais pouvant passer inaperçu. Ce lien renvoie vers un serveur hébergeant un script JavaScript dont le but est d’envoyer un formulaire HTML au serveur web pour changer le mot de passe de l’utilisateur.

Ci-dessous, l’évaluation du risque selon l’OWASP :

images/03EP68.png

La détection d’une telle attaque sur une application web est relativement simple, les autres métriques sont modérées.

2. CSRF et requête POST

Voici un exemple de scénario avec l’application bWAPP :

Accédez à la page Cross Site Request Forgery (Transfert Amount) de bWAPP. L’application présente un formulaire ressemblant à un transfert d’argent sur un site bancaire, pour une somme de 1 000 euros.

images/03EP69.png

À l’aide de Firefox, accédez à l’URL suivante ...