Tutoriel COOKIEESS 🍪🍪

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 :