Estoy tratando de trabajar en el curso moderno de explotación binaria que publicó RPI . Estoy trabajando en el laboratorio de Shellcode y tratando de entender algo que está sucediendo en el código de ejemplo aquí (condensado para mayor claridad). El desbordamiento es de la contraseña del usuario después de que la función main () regresa. Estoy intentando restablecer el puntero de instrucción y saltar al código de shell en la contraseña.
Descubrí(calculadoyconfirmado)dóndeestáladirecciónderetorno(0xB7E2EAF3),ycuandoregresa,esaeslasiguienteinstrucciónquesemuestraengdb(textorojoconEIP).
Después de ingresar mi código, puedo ver que mi nueva dirección de devolución (0xBFFFF683) está en esa dirección.
Luego,cuandopasoapasoengdb,apareceelerrorquesemuestra.Notengoniideadedóndevieneesadirección0x90909094.
Si me paso de nuevo, el código comienza a ejecutarse desde un nop en una dirección que yo esperaría.
El exploit ejecuta la otra función en gdb, pero simplemente se bloquea cuando se ejecuta fuera del depurador. No está seguro de cuál es el problema.