Comprendre et éviter les attaques CSRF grâce à Symfony

JoliCode - JoliCodeBlog - 14/03
CSRF veut dire Cross-Site Request Forgery en anglais, une traduction française pourrait être "Falsification de requêtes inter-sites". Dans cet article, nous allons faire un rappel de ce qu’est une attaque CSRF et comment Symfony nous en protège. Puis au travers d’un exemple

CSRF veut dire Cross-Site Request Forgery en anglais, une traduction française pourrait être « Falsification de requêtes inter-sites ».

Dans cet article, nous allons faire un rappel de ce qu’est une attaque CSRF et comment Symfony nous en protège. Puis au travers d’un exemple concret, voir qu’il reste des cas qui sortent du cadre classique et méritent toute notre attention.

Section intitulée qu-est-ce-qu-une-attaque-csrfQu’est-ce qu’une attaque CSRF ?

L’objet de cette attaque est de transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu’il l’exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s’en rendre compte. L’attaque étant actionnée par l’utilisateur, un grand nombre de systèmes d’authentification sont contournés. Source : Wikipédia

Concrètement l’attaque se passe en trois temps :

  • Alice est administratrice d’un forum, elle a une session active.
  • Bob forge une URL /admin/delete/comment/345, l’obstrue par exemple avec un raccourcisseur d’URL, puis l’envoie à Alice
  • Alice clique sur l’URL, ayant une session active, l’action destructrice est exécutée malgré elle

Heureusement, Symfony est bien fait et grâce au package symfony/secur...
[Courte citation de 8% de l'article original]

Loading...