WWW2Exec - __malloc_hook
Malloc Hook
Conforme você pode ver no site oficial da GNU, a variável __malloc_hook
é um ponteiro que aponta para o endereço de uma função que será chamada sempre que malloc()
for chamado armazenado na seção de dados da biblioteca libc. Portanto, se este endereço for sobrescrito com um One Gadget, por exemplo, e malloc
for chamado, o One Gadget será chamado.
Para chamar malloc é possível esperar que o programa o chame ou chamando printf("%10000$c")
que aloca muitos bytes fazendo com que o libc
chame malloc para alocá-los no heap.
Mais informações sobre One Gadget em:
pageOne GadgetObserve que os hooks são desativados para GLIBC >= 2.34. Existem outras técnicas que podem ser usadas em versões modernas do GLIBC. Veja: https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md.
Referências
Last updated