最后更新于11个月前
支持HackTricks的其他方式:
如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看!
获取
探索,我们的独家收藏品
加入 💬 或 或在Twitter上关注我们 🐦 。
通过向和 github仓库提交PR来分享您的黑客技巧。
正如您可以在中看到的,变量**__malloc_hook是一个指针,指向将在调用malloc()时调用的函数的地址**,存储在libc库的数据段中。因此,如果将此地址覆盖为例如One Gadget,并调用malloc,则将调用One Gadget。
__malloc_hook
malloc()
malloc
要调用malloc,可以等待程序调用它,也可以通过调用printf("%10000$c"),这会分配太多字节,使得libc调用malloc在堆中分配它们。
printf("%10000$c")
libc
有关One Gadget的更多信息,请参见:
请注意,对于GLIBC >= 2.34,挂钩是禁用的。现代GLIBC版本可以使用其他技术。请参阅:。
.