WWW2Exec - __malloc_hook
Malloc Hook
Come puoi vedere sul sito ufficiale di GNU, la variabile __malloc_hook
è un puntatore che punta all'indirizzo di una funzione che verrà chiamata ogni volta che viene chiamato malloc()
memorizzata nella sezione dati della libreria libc. Pertanto, se questo indirizzo viene sovrascritto con un One Gadget ad esempio e viene chiamato malloc
, verrà chiamato il One Gadget.
Per chiamare malloc è possibile aspettare che il programma lo chiami o chiamando printf("%10000$c")
che alloca troppi byte facendo sì che libc
chiami malloc per allocarli nell'heap.
Ulteriori informazioni su One Gadget in:
pageOne GadgetNota che i hook sono disabilitati per GLIBC >= 2.34. Ci sono altre tecniche che possono essere utilizzate nelle versioni moderne di GLIBC. Vedi: https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md.
References
Last updated