[Blaze CTF 2018]secret pickle[pwn]

Le challenge « secret pickle » du Blaze CTF 2018 est un pwn avec la description suivante :

Voici le code du script python à exploiter :

La vulnérabilité à exploiter viens de la combinaison de la méthode de sauvegarde et lecture de fichier direct et celle avec la bibliothèque pickle.

En effet lorsqu’un objet est chargé à l’aide de la méthode pickle.load() ,la méthode __reduce__ de l’objet est appelée.

Nous allons donc créer un fichier pickle contenant un objet contenant cette méthode , et l’écrire dans le programme a l’aide de l’écriture direct pour enfin, le lire avec la méthode pickle.load qui exécutera le code contenu dans la méthode __reduce__ de l’objet de notre fichier.

Voici le script pour créer le fichier pickle en local :

lorsque l’on le lance on obtient un fichier save.pickle au contenu suivant :

il ne reste plus qu’à créer le fichier sur le serveur :

puis lire le fichier avec la méthode pickle.load() pour afficher le flag :

 

Challenge réussi , nous avons le flag :  flag{P1CKL3s_W3R3_0nce_CuCuMbErS}

Add a Comment

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.