mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
4.4 KiB
4.4 KiB
House of Lore | Small bin Attack
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs收藏品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
基本信息
代码
- 查看来自https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/的代码
- 这个不起作用
- 或者:https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- 即使尝试绕过一些检查也不起作用,会出现错误:
malloc(): unaligned tcache chunk detected
- 这个示例仍在起作用**:https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
目标
- 在小型bin中插入一个伪造的小块,然后可以分配它。
请注意,添加的小块是攻击者创建的伪造的小块,而不是在任意位置创建的伪造的小块。
要求
- 创建2个伪造的块,并将它们与合法块链接:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(您需要通过其他漏洞修改释放的小块中的指针)legit.bk
->fake0
然后您将能够分配fake0
。
攻击
- 分配一个小块(
legit
),然后分配另一个块以防止与顶部块合并。然后释放legit
(将其移动到未排序列表),然后分配一个较大的块,将legit
移动到小型bin中。 - 攻击者生成一对伪造的小块,并进行必要的链接以绕过完整性检查:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(您需要通过其他漏洞修改释放的小块中的指针)legit.bk
->fake0
- 分配一个小块以获取
legit
,将**fake0
**置于小型bin的顶部列表 - 再分配一个小块,获取
fake0
作为一个块,从而有可能读取/写入其中的指针。
参考资料
- https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- https://heap-exploitation.dhavalkapil.com/attacks/house_of_lore
- https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs收藏品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。