<< Les buffer-overflows | Les heap-based overflows >> |
<< Les buffer-overflows | Les heap-based overflows >> |
FrizN | 27/02/14 06:16 |
Je ne vois pas tout à fait ce dont tu parles, tu peux me donner un programme exemple ? |
|
0x0ff | 20/02/14 13:57 |
Bonjour FrizN, saurais-tu m'expliquer pourquoi dans certains cas un programme crash à partir du moment où on lui envoie une chaîne de 1000 octets. Et lorsque l'on analyse la pile et les registres, on se rend compte que l'EIP prend comme valeur 4 octets en plein milieu de ce buffer... Le programme n'aurait-il pas dû crasher dés l'écrasement de ces 4 octets ? Mettons qu'il s'agisse des 500-504ièmes octets, 504 octets ne devraient-ils pas être suffisant pour faire planter ce programme? |
|
FrizN | 08/01/14 08:32 |
Il faut bien comprendre que la première récupération de esp dans ce cas est seulement une estimation de l'esp au moment de la vulnérablité, pendant l'exécution future du programme victime (lors du execl l'espace d'adressage est réinitialisé). |
|
Littl3d3v1l | 08/01/14 06:13 |
Votre commentaire ici.Bonjour, Il y a un truc que je ne comprend pas trop dans le calcul de l'offset. Pourquoi faut il prendre en compte le nombre d'octet que prend les variable local du programme appelant?car lors de l'appel de la fonction stock_pointer on récupère %esp qui est le sommet de la pile non? et au moment ou on l'appelle, les variables locales ont déjà été déclarées et donc sont déja "incluses" dans %esp. Sinon merci pour ce site, c'est très bien expliqué! |