He completado un ataque de desbordamiento de búfer inyectando shellcode en el búfer y ejecutando el exploit mediante:
./binary $(python -c 'print overflow +shellcode + adressofshellcode')
El exploit anterior está funcionando y puedo explotar el binario con éxito. Pero cuando apago o cierro la sesión en mi VM y luego vuelvo a intentarlo con la cadena de explotación, no funciona porque adressofshellcode
cambió y mi vulnerabilidad apunta a una ubicación de memoria incorrecta, porque cada vez que el búfer del programa se carga en una ubicación de memoria diferente.
Estoy compilando el programa con -fno-stack-protector -z execstack
flags de gcc
y mi ASLR también está deshabilitado.
¿Hay alguna forma de que mi dirección de retorno siempre apunte a shellcode?