Reconmind, accueil

Attaque

CSRF

Aussi appeléCross-Site Request ForgeryFalsification de requête intersites

En résumé

Une attaque qui pousse le navigateur d’un utilisateur connecté à envoyer, à son insu, une requête vers un site où sa session est ouverte. Le site la traite comme légitime puisque le navigateur joint automatiquement les cookies de session, ce qui permet de déclencher une action au nom de la victime.

CSRF, en détail

CSRF signifie Cross-Site Request Forgery. L’attaque repose sur le comportement par défaut des navigateurs, qui joignent les cookies d’un site à toute requête vers ce site, quelle que soit la page d’où elle part. Un utilisateur connecté à son espace bancaire ou d’administration qui visite une page piégée peut ainsi déclencher, sans le savoir, un virement, un changement d’adresse e-mail ou la création d’un compte.

L’attaquant ne lit pas la réponse : le CSRF permet d’exécuter une action, pas d’en recueillir le résultat. Il suffit toutefois qu’une action sensible repose uniquement sur le cookie de session pour que le risque existe. Les actions qui modifient un état (changement de mot de passe, d’e-mail, de destinataire) sont les cibles privilégiées, car leur détournement mène à la prise de contrôle d’un compte. Les protections sont bien établies : un jeton anti-CSRF imprévisible, lié à la session et vérifié pour chaque requête modifiant l’état ; l’attribut SameSite des cookies, désormais appliqué par défaut en mode « Lax » par les navigateurs récents mais à ne pas considérer comme unique protection ; et la demande de ressaisie du mot de passe pour les opérations les plus sensibles.

Qu’est-ce que cela change pour vous ?

Le CSRF touche surtout les applications qui s’appuient sur des cookies de session et dont les actions sensibles ne demandent aucune confirmation. Il se corrige à bas coût dans les frameworks modernes, à condition de ne pas désactiver leur protection par commodité.

Exemple illustratif (fictif)

Par exemple, dans une application interne, la modification de l’adresse e-mail de récupération d’un compte se fait par une simple requête sans jeton. Un lien piégé envoyé à un administrateur connecté permettrait de rediriger la réinitialisation de son mot de passe vers une boîte contrôlée par l’attaquant.

La confusion fréquente

Croire que l’attribut SameSite ou l’usage de HTTPS suffit à supprimer le CSRF. SameSite réduit l’exposition sans couvrir tous les cas, notamment les sous-domaines et les requêtes de même site ; HTTPS protège le transport, pas l’intention de la requête.

Comment le détecter chez vous ?

Aller plus loin

Termes liés

  • AttaqueCross-site scripting : définitionUne vulnérabilité qui permet d’injecter du code JavaScript dans une page web consultée par d’autres utilisateurs.
  • AttaqueÉlévation de privilèges : définitionL’obtention de droits supérieurs à ceux accordés au départ, soit en accédant à un rôle plus puissant (élévation verticale), soit en accédant aux ressources d’un autre utilisateur de même niveau (élévation horizontale).
  • AttaqueIngénierie sociale : définitionL’ensemble des méthodes qui exploitent le comportement humain plutôt qu’une faille technique pour obtenir un accès, une information ou une action.
  • DéfenseDéfense en profondeur : définitionUne stratégie qui superpose plusieurs mesures de sécurité indépendantes, de sorte que la défaillance ou le contournement de l’une ne suffise pas à compromettre le système.

Revenir au glossaire complet

Réponse à toute demande sous 24 h ouvrées

Un périmètre à faire tester ?

Le cadrage est gratuit et sans engagement. Trente minutes suffisent à savoir si une mission est pertinente, laquelle, et ce qu’elle coûterait.

  • Accord de confidentialité systématique
  • Cadrage gratuit et sans engagement
  • Périmètre et prix écrits avant le début