CSRF
Pour qu'une faille de type CSRF, on doit rencontrer ces trois conditions :
1. CSRF Basique :


Le cookie n'a pas le bon attribut ce qui rend possible la csrf
2. Bypass CSRF token
On peut bypass Ă cause d'une mauvaise implementation de celui-ci ou une mauvaise utilisations
2.1 CSRF verification depends on HTTP methode
On peut contourner le csrf token en changeant la methode http utilisé :

On change la méthode POST en GET et on arrive a bypass :

Résultat avec CSRF PoC generator :

2.3 Bypass en supprimant le token
Dans certaines situations, l'application va vérfié si le token est le bon mais si aucun token ne lui est présenté la vérification n'est pas faite et est juste skip :
J'essaye en mettant un token invalide :


2.4 Bypass : Le jeton CSRF n'est pas lié à la session utilisateur
Certaines applications ne valident pas que le jeton appartient à la même session que l'utilisateur qui fait la demande. Au lieu de cela, l'application gère un pool global de jetons qu'elle a émis et accepte tout jeton qui apparaît dans ce pool.
Dans cette situation, l'attaquant peut se connecter Ă l'application en utilisant son propre compte, obtenir un jeton valide, puis transmettre ce jeton Ă l'utilisateur victime dans son attaque CSRF.
2.5. Bypass : Le jeton csrf token lie au crsf cookie
Par moment, un cookie csrf peut être présent : Voir si il est lié au csrf token. Utilisé un couple de csrf token/cookie d'un autre compte. Et généralement cela suit avec une injection de header afin d'y insérer le token cookie lié au csrf token
2.6 Bypass : CSRF token & CSRF Cookie identique:


3. Cookie de session avec attribut SameSite

Last updated