J'essaye de provoquer un débordement de tampon afin d'exécuter une fonction sur le code C. Jusqu'à présent, j'ai déjà réussi à savoir quel est le nombre d'octets à reprendre sur le registre EBP. La seule chose suivante est de substituer l'adresse de EIP à la fonction que je souhaite exécuter. J'essaie de générer cette charge avec python. Pour cela, j'utilise les éléments suivantsComment générer des données utiles avec Python pour un débordement de buffer?
python -c 'print "A"*112 + "\x3b\x86\x04\x08"' > attack_payload
Voici ce que je reçois
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;�
avis ces derniers caractères! Je sais que ce n'est pas ce que je devais obtenir. L'adresse que je souhaite utiliser sur le registre EIP
est 0804863b
. J'ai dû mettre ceci sur little endian
pour que l'exploit s'exécute correctement. Des commentaires à ce sujet? Ne pouvant pas aller plus loin avec l'exploit à cause de ça ...
Si vous supprimez le '> attack_payload' est EIP écrasé avec succès avec votre adresse demandée? – DKNUCKLES
@DKNUCKLES ne sais pas comment je ferais cela, sans copier le contenu du fichier, car le code attend une entrée (chaîne) pour nourrir la fonction 'gets'. – fish202