House of Lore | Small bin Attack
Reading time: 3 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 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
目标
- 在小桶中插入一个假小块,以便可以分配它。
注意,添加的小块是攻击者创建的假块,而不是任意位置的假块。
要求
- 创建2个假块并将它们链接在一起,并与小桶中的合法块链接:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(您需要通过其他漏洞修改已释放小桶块中的指针)legit.bk
->fake0
然后您将能够分配fake0
。
攻击
- 分配一个小块(
legit
),然后分配另一个小块以防止与顶部块合并。然后,释放legit
(将其移动到未排序的桶列表中),并分配一个更大的块,将legit
移动到小桶中。 - 攻击者生成一对假小块,并进行必要的链接以绕过完整性检查:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(您需要通过其他漏洞修改已释放小桶块中的指针)legit.bk
->fake0
- 分配一个小块以获取合法块,使**
fake0
**成为小桶的顶部列表 - 再分配一个小块,获取
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
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。