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 ?
- Pentest web : la prestationSavoir ce qu’un attaquant obtiendrait sur votre application.
Aller plus loin
- ArticleAutorisation de test d’intrusion : ce que doit contenir la lettrePérimètre, fenêtres, adresses IP sources, contacts, clause d’arrêt, données, signataires habilités : le contenu d’une autorisation écrite avant un test d’intrusion, et son cadre légal.
- ArticleComparer des devis de test d’intrusion : la grille en neuf pointsPérimètre, jours-homme, boîte noire ou grise, rôles testés, contre-audit, livrables, qualification, cadre et prix : la grille qui rend deux devis comparables autrement que par leur total.
- ComparatifScan ou test d’intrusion : lequel choisir, critère par critère ?Un scan automatisé et un test d’intrusion portent des noms proches, mais ne répondent pas à la même question et ne coûtent pas le même prix. Critères, situations et erreur d’achat la plus fréquente.
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.
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