[HACK] Sobre buffer overflows de 1 byte

RoMaN SoFt / LLFB roman at madrid.com
Wed Nov 7 18:59:57 CET 2001


 Efectivamente: si variamos el entorno nuestra dirección de pila
cambiará (ver log). Ese es el problema.

 ¿Como igualo los entornos (el de la shell y el del gdb) para obtener
los valores adecuados del exploit??? ¿Hay algun equivalente para hacer
un "unset all" en bash?

 Logs:

roman at goliat:~ > cat sp.c 
#include <stdio.h>

long get_sp() {
      __asm__("movl %esp, %eax");
}

main() {
   printf("SP=%p\n", get_sp());
}
roman at goliat:~ > sp
SP=0xbffff7a4
roman at goliat:~ > gdb -q sp
(gdb) r
Starting program: /home/roman/1byte/sp 
SP=0xbffff7b4

Program exited with code 016.
(gdb) unset environment
Delete all environment variables? (y or n) y
(gdb) r
Starting program: /home/roman/1byte/sp 
SP=0xbffffde4

Program exited with code 016.
(gdb) q
roman at goliat:~ >


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    ** RoMaN SoFt / LLFB **  
       roman at madrid.com
   http://pagina.de/romansoft
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



More information about the hacking mailing list