Ho completato un attacco bufferoverflow iniettando shellcode nel buffer ed eseguendo exploit di:
./binary $(python -c 'print overflow +shellcode + adressofshellcode')
L'exploit sopra sta funzionando e sono in grado di sfruttare il binario con successo. Ma quando spengo o disconnetto la mia VM e poi riprovo con exploit string, non funziona perché adressofshellcode
è cambiato e il mio exploit punta a una posizione di memoria errata, perché ogni volta che il buffer del programma viene caricato in una diversa posizione di memoria.
Sto compilando un programma con -fno-stack-protector -z execstack
flags di gcc
e anche il mio ASLR è disabilitato.
Esiste un modo per cui il mio indirizzo di ritorno punta sempre sullo shellcode?