mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
2.3 KiB
2.3 KiB
House of Lore | Small bin Attack
{{#include ../../banners/hacktricks-training.md}}
基本信息
代码
- 检查来自 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
{{#include ../../banners/hacktricks-training.md}}