SameSite Strict — contournement via redirection côté client
SameSite Strict bypass via client-side redirect
Le formulaire change email du labo est vulnérable au CSRF. L’objectif est de provoquer le changement de l’adresse e-mail de la victime en hébergeant l’exploit sur l’exploit server fourni.
Accès de test
Compte utilisé dans le labo : wiener:peter
Observations principales
La fonctionnalité de changement d’e-mail fonctionne via une requête GET de ce type :

En envoyant une redirection JavaScript comme :
la page demande de s’authentifier si l’utilisateur n’est pas connecté — la requête n’embarque pas la cookie de session lorsqu’elle provient d’un autre site.

L’en-tête Set-Cookie contient SameSite=Strict, ce qui empêche l’envoi de la cookie de session lors de navigations initiées depuis un autre contexte (cross-site), bloquant normalement les attaques par redirection classiques.

Zone exploitée (commentaires → confirmation → redirection)
Il existe une zone de commentaires qui redirige ensuite vers :


Un script sur la page de confirmation extrait le paramètre postId et redirige après 3 secondes vers le post correspondant :


En observant ce comportement, on note que le postId n’est pas contraint strictement : si on modifie sa valeur (par ex. test), la redirection se fait vers .../test sans validation apparente.
Contournement du SameSite Strict via chemin manipulé
Idée : remplacer la redirection vers blogPath + '/' + postId par un postId contenant des segments relatifs .. pour atteindre un chemin du site cible (back-directory), par exemple :
/post/comment/confirmation?postId=../my-account
la redirection mène alors vers un répertoire supérieur sans bloquer la cookie de session.

En construisant un postId plus spécifique, on vise directement la fonction de changement d’e-mail :
Redirection simple vers la page de changement d’e-mail :
Mis à jour
Ce contenu vous a-t-il été utile ?