COOKIEESS 🍪🍪
Tutoriel : Forge de session Flask (Cookie Forgery)

Dans le code source de l’app récupéré via Git, on trouve :
- La clé secrète : devweb-secret-key-ctf-final
- Les conditions d’accès à /admin :
- La session doit contenir « admin »: True.
- La session doit avoir un timestamp « time » récent (moins de 300s).
La clé secrète sert à signer cryptographiquement le cookie de session pour garantir que son contenu n’a pas été modifié par l’utilisateur. Si on la possède, on peut falsifier ses privilèges (ex: devenir admin) en générant nous même une signature valide que le serveur acceptera
On va donc créer un cookie à l’aide de app.secret_key = « devweb-secret-key-ctf-final » afin de se faire passer pour un admin.
On installe flask-unsign pour cela :

On créer le cookie à l’aide de la commande ci-dessous :

–sign : Demande de créer une signature
–cookie : Définit les données (Admin à True et Timestamp actuel)
–secret : La clé volée dans le Git
Dans le navigateur, F12 > Application > Cookies > https://dev.a.ctf.arrobe.fr
On créer « session » dans Name et on colle le cookie généré dans Value

On rafraichit la page et on se rend dans la zone admin, et le flag apparait :
