Eval me 2
Dernière mise à jour
Cet article vous a-t-il été utile ?
Dernière mise à jour
Cet article vous a-t-il été utile ?
Catégorie: Programmation Difficulté: - Flag: CTFREI{3v4l_1s_d4ng3r0u5}
Arriveras-tu à passer toutes les étapes de ce programme ?
Il est conseillé d'utiliser pwntools
afin de résoudre ce challenge.
Connexion: nc vps.ctfrei.fr 5003
Ce challenge tourne sur un docker et n'est pas disponible
Le serveur nous envoie une série d'expressions mathématiques à résoudre, il faut donc créer un client TCP pour s'y connecter et y répondre en boucle.
Le challenge attend de nous que nous utilisions la fonction eval, ce que je déconseille impérativement (d'ailleurs la suite de ce challenge "Eval me 2" essaie de se jouer de ça pour nous tendre un piège)
Une recherche sur google permet de trouver des alternatives safe pour faire la même chose, comme (cimer chef)
En utilisant le même script que le challenge précédent (Eval me 1) on obtient une erreur puisque le serveur essaie de nous faire évaluer :
exec("f=open(file,'r').read()[::-1];open(file, 'w').write(f);exit()")
Heureusement que nous avions prévu le coup, sinon notre fichier aurait été réécrit à l'envers...
Il faut simplement aujouter à notre script le fait d'envoyer un message vide lorsqu'il ne peut pas résoudre l'expression. Pour éviter une boucle infinie, si le mot CTFREI
est détecté dans le message reçu, on coupe la boucle