Experimento de desbordamiento de búfer: código de shell ejecutado pero se produjo un error de "no se pudo leer 0 bytes"

1

He realizado un experimento de desbordamiento de búfer en una máquina virtual Ubuntu 16.04 ( Linux ubuntu 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux ) y obtuve un error sorprendente después de ejecutar el código de shell. El código de shell se copia de esto tutorial y es específicamente "\x48\x31\xf6\x48\x31\xd2\x48\xbb\x2f\x62\x69\x6e\x2f\x73\x68\x11\x48\xc1\xe3\x08\x48\xc1\xeb\x08\x53\x48\xc7\xc0\x3b\x11\x11\x11\x48\x89\xe7\x48\xc1\xe0\x38\x48\xc1\xe8\x38\x0f\x05" . En edb , veo que RIP salta al código de shell y lo ejecuta, como se muestra a continuación:

edb que muestra el código de shell ejecutado

Después del comando syscall que se supone que execve shell, sin embargo, parece caer en un agujero negro. Edb comienza a borrarse, como se muestra a continuación:

edb se queda en blanco después de syscall

, y cuando paso por el depurador "en la oscuridad", su ventana de línea de comandos comienza a mostrar los siguientes errores:

errores en la ventana de edb cli

¿Se pregunta si alguien ha visto esto antes y sabe cómo solucionarlo?

    
pregunta ios learner 30.07.2018 - 01:15
fuente

0 respuestas

Lea otras preguntas en las etiquetas