Strange input, right?

Catégorie: Système Difficulté: - Flag: CTFREI{b3g1nn1ng_0f_4_pyj41l_j0urn3y}

Challenge

circle-info

Description


Challenge d'introduction aux Pyjails

Ne mettez pas seulement des mots randoms, n'hésitez pas à faire des recherches !

Le flag est dans flag.txt

nc intro.ctfrei.fr 4450

circle-exclamation

Solution

Ce challenge est une introduction aux PyJail, autrement dit le serveur fait tourner un script Python. En Python2, il existe une vulnérabilité sur la fonction input() puisqu'elle cast automatiquement notre entrée dans un type qui lui correspond.

Exemple avec quelques entrées via la fonction input :

45        -> <type 'int'>
"goodbye" -> <type 'str'>
[1,2,3]   -> <type 'list'>

On peut donc utiliser les fonctions natives de Python pour forcer le serveur à exécuter du code. Si l'on passe par __import__, on peut même lancer des commandes

Mis à jour