hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/arbitrary-write-2-exec/aw2exec-__malloc_hook.md

3.6 KiB
Raw Blame History

AW2Exec - __malloc_hook

{% hint style="success" %} 学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}

Malloc Hook

正如你可以在 官方 GNU 网站 上看到的,变量 __malloc_hook 是一个指针,指向 每当调用 malloc() 时将被调用的函数的地址,该地址存储在 libc 库的数据段中。因此,如果这个地址被覆盖为一个 One Gadget,例如,当调用 malloc 时,One Gadget 将被调用

要调用 malloc可以等待程序调用它或者通过 调用 printf("%10000$c"),这会分配过多的字节,使得 libc 调用 malloc 在堆中分配它们。

有关 One Gadget 的更多信息,请参见:

{% content-ref url="../one-gadget.md" %} one-gadget.md {% endcontent-ref %}

{% hint style="danger" %} 请注意,GLIBC >= 2.34 的钩子已被禁用。在现代 GLIBC 版本中还有其他技术可以使用。请参见 https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md。 {% endhint %}

参考文献

{% hint style="success" %} 学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}