Cyberpediapar Brain
FRDEEN

Le CSRF : l'action forcée à votre insu

Un site piégé ou un message peut faire agir votre navigateur à votre place sur un service où vous êtes connecté. Voici le mécanisme et les parades.

En 30 secondes

Où ça arrive
Sur la plupart des services web sans protection anti-CSRF, quand vous ouvrez un lien ou une page piégée dans le même navigateur1.
Ce que veut l'attaquant
Provoquer une action qui modifie quelque chose, comme un virement ou un changement de mot de passe1.
Le réflexe
Se déconnecter d'un service quand on a fini de s'en servir2.
D'où vient la faille
De l'application, pas de l'utilisateur2.

De quoi parle-t-on

Le CSRF (Cross-Site Request Forgery) est une attaque qui force un utilisateur à exécuter des actions non voulues sur une application web où il est déjà authentifié1. L'attaquant n'a pas besoin du mot de passe de la victime : il fait agir le navigateur de celle-ci.

Pour un salarié, le scénario type est simple. Une messagerie ou un site bancaire est ouvert dans un onglet. Un lien reçu par e-mail ou par messagerie instantanée mène vers une autre page, et cette page déclenche, en arrière-plan, une demande vers le service resté connecté1.

Questions directes

Le CSRF vole-t-il mon mot de passe ?

Non, pas en tant que tel. L'attaque emprunte l'identité et les droits de la victime pour accomplir une action à sa place1. Elle vise les actions qui changent l'état du service, comme modifier l'adresse e-mail ou le mot de passe, ou acheter quelque chose. Obliger la victime à consulter des données ne profite pas à l'attaquant, car c'est la victime qui reçoit la réponse, pas lui1.

Pourquoi le service obéit-il à une demande que je n'ai pas voulue ?

Parce qu'il ne sait pas la distinguer d'une demande légitime. Pour la plupart des sites, les requêtes du navigateur incluent automatiquement les identifiants associés au site, comme le cookie de session1. Si l'utilisateur est authentifié, le site n'a donc aucun moyen de séparer la requête forgée de la requête réelle1. Le CWE décrit la faiblesse ainsi : l'application ne vérifie pas, ou ne peut pas vérifier, qu'une requête a été fournie volontairement par l'utilisateur qui l'a envoyée5.

Suis-je protégé si le service est en HTTPS ?

Non. D'après OWASP, HTTPS seul ne protège pas du CSRF, même s'il reste un prérequis pour que les autres mesures soient fiables1.

Le problème vient-il de moi ou de l'application ?

De l'application. Microsoft le dit en toutes lettres : les failles CSRF sont fondamentalement un problème de l'application web, pas de l'utilisateur final2. Les gestes de l'utilisateur limitent seulement l'exposition : se déconnecter quand on a fini et vider régulièrement les cookies du navigateur2.

1Dans la peau de l'attaquant1 min

L'attaquant commence par repérer une requête qui modifie quelque chose sur un service, puis il fabrique une adresse ou un script qui la reproduit avec ses propres valeurs. OWASP prend l'exemple d'une banque fictive : la requête légitime vire 100 dollars à un bénéficiaire, et l'attaquant remplace le bénéficiaire par lui-même en augmentant le montant1.

Reste à faire charger cette requête par la victime pendant qu'elle est connectée. Deux méthodes sont citées : un e-mail non sollicité au contenu HTML, ou un piège placé sur des pages que la victime est susceptible de visiter pendant qu'elle utilise son service en ligne1.

L'attaque peut aussi être stockée sur le site vulnérable lui-même, par exemple dans un champ qui accepte du HTML. Elle devient alors plus probable : la victime consulte plus volontiers une page du site qu'une page quelconque d'Internet, et elle y est forcément déjà connectée1.

2Ce que vous voyez à l'écran1 min

Souvent, rien. Le lien piégé peut être déguisé en lien ordinaire, avec un texte du genre « voir mes photos ». Il peut aussi prendre la forme d'une fausse image de taille nulle : si elle figure dans un e-mail, la victime ne voit rien, mais le navigateur envoie quand même la requête, sans aucun signe visuel que l'opération a eu lieu1.

Extrait
Illustration neutralisée, pas une adresse réelle.
Lien déguisé : texte affiché « Voir mes photos », adresse cachée
hxxp://banque[.]exemple[.]invalid/virement?dest=[compte de l'attaquant]&montant=[élevé]
Variante : image invisible dans un e-mail, chargée sans clic.

Si le service attend une requête de type POST, l'attaquant peut héberger sur son site un formulaire aux champs cachés. La victime croit qu'il fait autre chose et clique, ou bien un script l'envoie automatiquement au chargement de la page1. Dans les deux cas, la page affichée est banale et l'action se déroule ailleurs.

3Sous le capotÉquipes IT2 min

Le mécanisme tient à un comportement normal des navigateurs. Ils enregistrent les cookies émis par une application, dont les cookies de session des utilisateurs authentifiés, et ils envoient tous les cookies d'un domaine à chaque requête, quelle que soit la façon dont cette requête est née dans le navigateur2. Les cookies ne sont pas seuls en cause : les authentifications de type Basic et Digest sont aussi vulnérables, car le navigateur renvoie automatiquement les identifiants jusqu'à la fin de la session2.

Plusieurs idées de défense ne fonctionnent pas, selon OWASP1 :

  • un cookie secret, puisque tous les cookies sont envoyés avec chaque requête ;
  • n'accepter que les requêtes POST, puisqu'un formulaire caché suffit à en forger une ;
  • les transactions en plusieurs étapes, tant que l'attaquant peut prévoir chaque étape ;
  • la seule vérification de l'en-tête Referer, car il peut être falsifié, et il est parfois absent pour des raisons de confidentialité.

Les protections recommandées, côté application, sont les suivantes.

  • Vérifier d'abord si le cadriciel (framework) offre déjà une protection CSRF, et l'utiliser. À défaut, ajouter des jetons anti-CSRF à toutes les requêtes qui modifient l'état et les valider côté serveur3. Sans jeton, l'attaquant ne peut pas fabriquer de requête valide3.
  • Pour les logiciels sans état, utiliser un cookie en double soumission, de préférence signé3.
  • Poser l'attribut SameSite sur les cookies de session3. Avec la valeur strict, le navigateur n'envoie pas le cookie sur les requêtes inter-sites, même en suivant un lien ordinaire. Avec lax, il l'envoie pour un lien suivi depuis un autre site mais le retient sur les méthodes exposées au CSRF comme POST4. Avec none, aucune protection n'est offerte4.
  • Contrôler l'origine avec les en-têtes standards, notamment Sec-Fetch-Site, pris en charge par tous les grands navigateurs depuis mars 20233.
  • Ne pas utiliser de requêtes GET pour des opérations qui modifient l'état3.

Ces mesures ont des limites. SameSite=Lax laisse passer les requêtes GET de navigation de premier niveau : un point d'accès qui modifie l'état par GET reste vulnérable2. Les anciens navigateurs peuvent ne pas appliquer SameSite2. Et une faille XSS peut contourner toutes les protections anti-CSRF ; le ver Samy, par exemple, a utilisé un XMLHttpRequest pour obtenir le jeton CSRF et forger des requêtes13. Le comportement par défaut de SameSite varie : en décembre 2024, lax était la valeur par défaut de Chrome, Edge et Opera, mais d'aucune version de Firefox ni de Safari, d'où le conseil de la fixer explicitement4.

4AutopsiesCas réels1 min

2008 : l'exploit uTorrent

OWASP cite, comme exemple réel d'attaque CSRF contre une application fonctionnant par requêtes GET, un exploit visant uTorrent datant de 2008. Il a été utilisé à grande échelle pour télécharger des logiciels malveillants1. La source n'en dit pas plus : ni le nombre de victimes, ni le mode de diffusion.

Failles cataloguées par le CWE (identifiants de 2004 à 2009)

Le CWE-352 donne une liste choisie d'exemples observés, qui n'est pas exhaustive5. Plusieurs reposent sur une simple URL dans une balise img : CVE-2004-1703 et CVE-2004-1995 permettent d'ajouter des comptes utilisateurs, CVE-2004-1842 de gagner des privilèges d'administrateur5. D'autres touchent la gestion elle-même : CVE-2009-3520 permet de modifier le mot de passe de l'administrateur, et CVE-2009-3759 de changer des mots de passe ou d'arrêter une machine virtuelle depuis une interface web5.

Fiche

Identifiant
CP-053
Aile
1. Attaques et techniques
Compétence Brain
Comprendre le hacking (understand_hacking)
Réflexe Brain
cr-018
Schéma
G3 · Coupe Anatomique
Langues
de, en, fr
Sources
5 sources vérifiées le 3 novembre 2026
Sources5 sources
  1. OWASP, « Cross Site Request Forgery (CSRF) | OWASP Foundation ». https://community.owasp.org/attacks/csrf (consulté le 3 novembre 2026)
  2. Microsoft, « Prevent Cross-Site Request Forgery (XSRF/CSRF) attacks in ASP.NET Core ». https://learn.microsoft.com/en-us/aspnet/core/security/anti-request-forgery?view=aspnetcore-10.0 (consulté le 3 novembre 2026)
  3. OWASP, « Cross-Site Request Forgery Prevention - OWASP Cheat Sheet Series ». https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html (consulté le 3 novembre 2026)
  4. OWASP, « SameSite | OWASP Foundation ». https://community.owasp.org/SameSite (consulté le 3 novembre 2026)
  5. MITRE, « CWE - CWE-352: Cross-Site Request Forgery (5.0) ». https://cwe.mitre.org/data/definitions/352.html (consulté le 3 novembre 2026)

Citer cet article

Brain, « Le CSRF : l'action forcée à votre insu », Cyberpedia, 2026. https://startbrain.io/cyberpedia/fr/articles/csrf-requete-forcee-inter-sites/

BibTeX
@misc{brain_cp053_fr_2026,
  author = {Brain},
  title = {Le CSRF : l'action forcée à votre insu},
  year = {2026},
  howpublished = {Cyberpedia},
  url = {https://startbrain.io/cyberpedia/fr/articles/csrf-requete-forcee-inter-sites/},
  note = {CC BY 4.0}
}