En realidad estoy haciendo algunos tutoriales sobre ROP en Linux. Así que traté de seguir el Tutorial y compilado algunos de los códigos de ejemplo para probar ROP en un ámbito pequeño. Pero En realidad, cuando estoy intentando explotar los ejecutables, recibo un mensaje como:
./a.out "$(python -c 'print "A"*0x70 + "BBBB" + "\x00\x40\x06\x2d"')"
*** stack smashing detected ***: ./a.out terminated
Así que intenté compilar los binarios sin las características de seguridad de gcc como:
gcc -ggdb -o a.out -mpreferred-stack-boundary=4 myfirstrop.c -z execstack or
gcc -ggdb -o a.out -fno-stack-protector -mpreferred-stack-boundary=4 myfirstrop.c -z execstack
Pero o bien aparece el mensaje de aplastamiento de la pila o se imprime un mensaje como "Error de bus" Entonces la pregunta es, ¿hay algo así como una visión general de todos los ¿Funciones de seguridad habilitadas por defecto en los sistemas Linux Debian / Ubuntu? Así que puedo verificarlos todos y podría deshabilitarlos. Si no tengo que instalar DVL en una máquina virtual y comenzar desde allí otra vez. Gracias de antemano