Leggevo degli attacchi return-to-libc su Wikipedia .
Secondo quanto ho letto e capito dall'articolo, l'armamento ASCII significa che i dati binari vengono convertiti in valori ASCII raggruppandoli in blocchi di 8 bit.
L'articolo cita:
Indeed, with ASCII-Armoring, all the system libraries (e.g. libc) addresses contain a NULL byte. Nevertheless, this same concept can be used in a similar and more advanced attack known as return-to-plt, where instead of returning to libc, the attacker uses the PLT functions loaded in the binary (e.g. system@plt, execve@plt, sprintf@plt, strcpy@plt, etc...).
Qualcuno può spiegare, in che modo esattamente l'armamento ASCII impedisce l'overflow del buffer? Non ho ricevuto la parte dove dice che gli indirizzi delle librerie di sistema contengono un byte NULL. E in che modo return-to-plt
impedisce l'overflow del buffer? Ho cercato, ma non ho trovato molte spiegazioni riguardanti gli attacchi di return-to-plt
.