WAFPlanet

Cross-Site Request Forgery (CSRF)

Types d'attaques

Quick Definition

Une attaque qui trompe les utilisateurs authentifiés pour qu'ils soumettent des requêtes non désirées à une application web dans laquelle ils sont actuellement authentifiés.

Qu'est-ce que Cross-Site Request Forgery ?

Le Cross-Site Request Forgery (CSRF) est une attaque qui force les utilisateurs authentifiés à effectuer des actions qu'ils n'avaient pas l'intention de faire. Lorsqu'un utilisateur est connecté à une application web, son navigateur inclut automatiquement les cookies de session avec chaque requête vers ce domaine. Le CSRF exploite cette confiance en trompant le navigateur de l'utilisateur pour qu'il fasse des requêtes vers l'application cible.

Une attaque CSRF réussie peut :

  • Changer les adresses email ou mots de passe des comptes
  • Transférer des fonds (dans les applications bancaires)
  • Effectuer des achats
  • Modifier les paramètres utilisateur
  • Publier du contenu au nom de l'utilisateur

Les attaques CSRF sont prévenues par :

  • L'utilisation de jetons CSRF (jetons uniques par session ou par requête)
  • La vérification de l'en-tête Referer
  • L'utilisation de l'attribut de cookie SameSite
  • L'exigence de ré-authentification pour les actions sensibles

Exemples

Un attaquant héberge une page avec un formulaire caché qui s'auto-soumet :

<form action="https://banque.com/transfert" method="POST"> <input type="hidden" name="montant" value="10000"> <input type="hidden" name="vers" value="attaquant"> </form> <script>document.forms[0].submit();</script>

Si un utilisateur connecté à la banque visite cette page, son navigateur effectuera le transfert en utilisant sa session authentifiée.