Définition technique
Attaque consistant à faire exécuter par un utilisateur authentifié une action non voulue sur un site (ex. changement de mot de passe, virement, modification de données). L’attaquant exploite le fait que le navigateur envoie automatiquement les cookies de session à chaque requête : une page malveillante peut déclencher une requête POST vers le site cible, avec les cookies de la victime. Contremesures : tokens CSRF (valeur secrète liée à la session, vérifiée côté serveur), SameSite sur les cookies, vérification de l’origine (Origin/Referer). Le token CSRF est en général un secret unique par session (ou par requête) inclus dans le formulaire ou en en-tête ; le serveur le vérifie avant d’exécuter l’action. L’attribut SameSite=Strict ou Lax sur les cookies limite l’envoi des cookies lors de requêtes cross-site, ce qui réduit la surface d’attaque.
Comment ça fonctionne ?
Le serveur génère un token CSRF (secret lié à la session), l'inclut dans le formulaire (champ caché) ou dans un cookie. À la soumission, le serveur vérifie que le token est présent et valide avant d'exécuter l'action. L'attribut SameSite sur les cookies limite l'envoi des cookies en requête cross-site.
L'erreur classique à éviter
Désactiver la protection CSRF « pour simplifier » ou l'oublier sur des formulaires sensibles (changement de mot de passe, formulaire de commande). Se reposer uniquement sur SameSite sans token pour les actions critiques.
Impact business : pourquoi s'en soucier ?
Une faille CSRF sur des actions sensibles (connexion, formulaire de commande, paramètres compte) peut permettre des prises de contrôle ou des actions frauduleuses. La mise en place de tokens CSRF et de bonnes pratiques cookies est une base de la sécurisation des applications web. Les frameworks modernes (Next.js, Django, Laravel) proposent des mécanismes CSRF intégrés ; les ignorer ou les désactiver sans alternative expose à des risques juridiques et de réputation. Une audit de sécurité inclut systématiquement la vérification des protections CSRF sur les formulaires et les API modifiant des données.
La règle d'or
Utiliser un token CSRF sur tous les formulaires et API qui modifient des données et utilisent des cookies de session. Configurer SameSite=Strict ou Lax sur les cookies. Vérifier Origin ou Referer en complément. Ne jamais ignorer les mécanismes fournis par le framework.