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