Logo Bility
Lexique du développeur by Bility

Définition CSRF (Cross-Site Server Forgery)

CSRF (Cross-Site Request Forgery) est une attaque qui vise à exploiter une application web en faisant passer une requête malveillante pour une requête authentique provenant d’un utilisateur autorisé.

Voici comment une attaque CSRF peut se dérouler:

  1. Un utilisateur légitime se connecte à une application web et obtient un cookie d’authentification.
  2. Un attaquant crée une page web malveillante qui contient une requête malveillante à l’application web, cachée dans un formulaire HTML ou une image par exemple.
  3. L’utilisateur légitime visite la page web malveillante de l’attaquant, sans savoir qu’une requête malveillante a été envoyée en arrière-plan.
  4. La requête malveillante est envoyée à l’application web avec le cookie d’authentification de l’utilisateur légitime, ce qui la fait passer pour une requête authentique.
  5. L’application web exécute la requête malveillante, ce qui peut avoir des conséquences graves pour l’utilisateur légitime et pour l’application.

Pour se protéger contre les attaques CSRF, il est recommandé d’utiliser des jetons CSRF (ou tokens). Un jeton CSRF est un jeton unique qui est généré par le serveur et envoyé à l’utilisateur dans un cookie ou dans un champ caché du formulaire HTML. Dès lors, à chaque fois que l’utilisateur soumet une requête, le jeton CSRF est renvoyé au serveur. Le serveur vérifie alors que le jeton CSRF envoyé correspond bien au jeton stocké dans le cookie ou le formulaire HTML, et rejette la requête si ce n’est pas le cas. Cela empêche les attaquants de créer des requêtes malveillantes qui peuvent être exécutées par l’application.

Smile Bility !

Vous avez une idée ?

Ne la laissez pas s'évaporer : nous pouvons peut-être la chiffrer et la concrétiser ensemble.