Esperimento di overflow del buffer: codice shell eseguito ma errore "impossibile leggere 0 byte"

1

Ho fatto un esperimento di overflow del buffer su una VM di 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 ) e ho ottenuto un errore sconcertante dopo aver eseguito il codice della shell. Il codice shell è copiato da questo tutorial ed è specificamente "\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" . In edb , vedo RIP che salta al codice shell e lo esegue, come mostrato di seguito:

edb che mostra il codice shell eseguito

Dopo il comando syscall che si suppone per execve shell, tuttavia, sembra cadere in un buco nero. Edb inizia a svuotare, come mostrato di seguito:

edb scompare dopo syscall

e mentre passo nel debugger "al buio", la sua finestra della riga di comando inizia a mostrare i seguenti errori:

errori nella finestra cli edb

Ti chiedi se qualcuno l'ha già visto e sai come risolverlo?

    
posta ios learner 30.07.2018 - 01:15
fonte

0 risposte

Leggi altre domande sui tag