CSRF — Cross-Site Request Forgery (Falsification de requête intersites)
hackingDéfinition
La Cross-Site Request Forgery (CSRF) est une attaque qui force un utilisateur authentifié à exécuter involontairement des actions sur une application web à laquelle il est connecté. L'attaquant crée une page web malveillante contenant des requêtes préformées (formulaires cachés, balises img, fetch JavaScript) qui, lorsqu'elles sont chargées par la victime authentifiée, déclenchent des actions sur l'application cible — virement bancaire, changement d'adresse email, suppression de compte. L'attaque exploite la confiance qu'une application accorde aux requêtes venant du navigateur d'un utilisateur authentifié. Les contre-mesures modernes incluent les tokens CSRF synchronisés (SameSite Strict/Lax sur les cookies), les headers de vérification d'origine (Origin/Referer), et le double-submit cookie pattern. Les frameworks web modernes comme Django, Laravel ou Spring Security intègrent des protections CSRF par défaut. Cette vulnérabilité figure dans le top OWASP et est testée systématiquement lors des audits de sécurité applicative.
Description
La CSRF force un utilisateur authentifié à exécuter involontairement des actions sur une application web à laquelle il est connecté. L'attaquant exploite la confiance de l'application envers les requêtes provenant du navigateur d'un utilisateur légitimement authentifié.
Exploitation
Des formulaires cachés, balises img ou requêtes fetch sur une page malveillante déclenchent des actions comme des virements, changements d'email ou suppressions de compte, sans consentement de la victime connectée sur la cible.
Défense
- Implémenter des tokens CSRF synchronisés (CSRF tokens) validés côté serveur à chaque soumission
- Configurer les cookies avec l'attribut SameSite=Strict ou Lax pour bloquer les requêtes cross-site
- Vérifier les headers Origin et Referer pour les actions sensibles
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis