0% encontró este documento útil (0 votos)
12 vistas2 páginas

Depuración de desbordamiento de pila en GDB

El documento describe un proceso de prueba de un programa vulnerable a desbordamiento de pila, utilizando un archivo de entrada de 66 caracteres. Se detalla el uso de gdb para depurar el programa, establecer un punto de interrupción y examinar el estado de la memoria durante la ejecución. Se enfatiza la vulnerabilidad de la función strcpy() cuando se excede el tamaño de entrada permitido.

Cargado por

Marsupilami
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas2 páginas

Depuración de desbordamiento de pila en GDB

El documento describe un proceso de prueba de un programa vulnerable a desbordamiento de pila, utilizando un archivo de entrada de 66 caracteres. Se detalla el uso de gdb para depurar el programa, establecer un punto de interrupción y examinar el estado de la memoria durante la ejecución. Se enfatiza la vulnerabilidad de la función strcpy() cuando se excede el tamaño de entrada permitido.

Cargado por

Marsupilami
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

nano sal

• Probamos este fichero contra el programa vulnerable para ver si provoca un


desbordamiento de pila corrompiéndola con el tamaño dado en el archivo “des” de 66
caracteres, introduciendo en una terminal el comando
./name $(cat sal)
6. Depuración del programa
• Ejecutamos los siguientes comandos para ejecutar el programa vulnerable en el entorno
de depuración gdb, enumerar el código fuente y establecer un punto de interrupción
gdb -q name
list
break 10
Uray Calvo Rodríguez 7
• El punto de interrupción en la línea 10 nos permite examinar el estado de la memoria en
ese punto. En la línea 10, se ejecuta la operación strcpy() (que es vulnerable cuando el
tamaño de entrada supera los 50 caracteres del destino), pero el programa aun no ha
regresado de la función copiar() a la función principal main().
7. Ejecución normal
• En el entorno de depuración gdb actual ejecutamos los comandos
run A
info registers
• El código se ejecuta hasta el punto de interrupción establecido en el apartado anterior
(línea 10), y se muestran los registros.
• Los registros mas importantes son esp (parte superior de la pila) y ebp (parte inferior de
la pila) que están resaltados en blanco con el ratón.
Uray Calvo Rodríguez 8

También podría gustarte