Cracking, Programmation

jeudi 22 octobre 2015, 15:17  #1
Exploit en python
Que20
  • 39 posts

Bonjour !

J’avais tenté il y a quelques mois de me créer des exploits en C et j’y étais parvenu. Voulant pousser encore un peu plus loin un des membres m’a conseillé plutôt d’utiliser python.

Ceci dit j’ai un petit souci que j’aimerai résoudre et je ne sais si comment y parvenir avec du python :

Jje crée un script python qui va justement chercher l’adresse d’une variable d’environnement, le seul pépin c’est que l’adresse trouvée est en 64 bits alors que le programme auquel je vais envoyer cette adresse est lui en 32 bits : comment préciser à un script python que l’on veut l’exécuter en 32 ou en 64 bits ? (en C, on peut le préciser avec une option de compilation mais vu qu’ici c’est de l’interprété et non du compilé...)

Merci d’avance. 🙂

jeudi 22 octobre 2015, 15:22  #2
Exploit en python
Geluchat
  • 42 posts
from struct import pack
pack('<I', adresse)
unpack('<I', adresse)

 ;)

jeudi 22 octobre 2015, 21:10  #3
Exploit en python
Que20
  • 39 posts

WOUHOU ! C’est bien ça ^^

En fait t’es une encyclopédie à toi tout seul Geluchat ! :D

D’ailleurs petite anecdote mais c’est justement ton article sur le "canary" (et aussi ta suggestion en MP :P) qui m’a poussé à tenter les exploits en python (puis surtout je me dis que si je dois faire la même chose en C ben............................ ^_^)

Tant que j’y suis : tu sais comment préciser à un script python qu’on veut l’exécuter en 32 bits (genre là je ne comprenais pas pourquoi mon exploit ne marchait pas alors qu’il était censé fonctionner ... et je me rends compte en affichant l’adresse qu’en fait elle est sur 64 bits ... alors que mon programme vulnérable attend une adresse 32 bits : forcément ça risque de ne pas trop fonctionner... ^^’)

vendredi 23 octobre 2015, 14:59  #4
Exploit en python
Geluchat
  • 42 posts

C’est à la compilation que tu choisis 32 ou 64bits avec l’option -m32 / -m64
Sinon si tu veux recupérer une adresse 64bits c’est <Q a la place <I