Les failles CSRF

Faire envoyer par le navigateur de la victime une requête qu'elle n'a pas voulue : les conditions, les parades (jeton anti-CSRF, SameSite, vérification de l'origine) et pourquoi un GET ne doit rien modifier.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Sur le schéma
  5. Mises en situation

Quelques cartes du deck

  • CSRF : de quoi s'agit-il ?

    Voir la réponse

    Attaque qui pousse le navigateur d'une victime connectée à envoyer, vers un site de confiance, une requête que l'attaquant a fabriquée.

    Le site reçoit une requête authentique en apparence, avec la session de la victime : il ne peut pas deviner qu'elle vient d'une page piégée. L'attaquant n'a pas besoin de voir la réponse.

  • Pourquoi le cookie de session ne protège-t-il pas du CSRF ?

    • Le navigateur le joint tout seul, quel que soit le site d'où part la requête
    • Il circule toujours en clair, donc l'attaquant le lit sur le réseau et le recopie dans sa requête
    • Il est trop court pour résister à une attaque par force brute menée depuis un autre site
    • Il expire dès que la victime ouvre un deuxième onglet
    Voir la réponse

    Le navigateur le joint tout seul, quel que soit le site d'où part la requête

    Le cookie prouve que la requête vient du navigateur de la victime, pas qu'elle a voulu l'envoyer. L'attaquant ne connaît pas le cookie, il n'en a pas besoin : le navigateur le met à sa place.

  • Une attaque CSRF suppose deux conditions : une session portée par un … que le navigateur joint tout seul, et une requête dont tous les paramètres sont … par l'attaquant.

    Voir la réponse

    Une attaque CSRF suppose deux conditions : une session portée par un cookie que le navigateur joint tout seul, et une requête dont tous les paramètres sont prévisibles par l'attaquant.

    Un jeton secret dans la requête rompt la seconde condition : l'attaquant ne peut plus la fabriquer entière.

  • Jeton anti-CSRF : de quoi s'agit-il ?

    Voir la réponse

    Valeur aléatoire liée à la session, placée dans chaque formulaire et exigée par le serveur à la réception de la requête.

    Un site tiers ne peut pas lire la page de la banque (règle de même origine) : il ne connaît donc pas le jeton, et sa requête forgée est rejetée.