mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
3.6 KiB
3.6 KiB
AW2Exec - __malloc_hook
{% hint style="success" %}
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 @hacktricks_live** 上关注我们。**
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 分享黑客技巧。
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 %}
参考文献
- https://ir0nstone.gitbook.io/notes/types/stack/one-gadgets-and-malloc-hook
- https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md
{% hint style="success" %}
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 @hacktricks_live** 上关注我们。**
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 分享黑客技巧。