PWN堆house-of-kauri
-
参考博客:【我的 PWN 学习手札】House of Karui —— tcache key 绕过_tcache key怎么找-CSDN博客
-
适用范围:
2.26~2.32 -
利用原理:修改
tcachebin的size,然后使其被放到不同大小的tcachebin链表里面去。
实验
实验1
- 可以修改
size位,使得堆块被放入不同的tcache中。
1 | // gcc -g -o lab1 lab1.c |
- 先申请
10个堆块,这10个堆块的size位都是0x40

- 之后我们修改
p[1]指向的堆块中的size位修改为0x71

- 这时我们
free后就会出现如下现象:chunk原本应该被放入0x40大小下的tcache中,但是释放后却被放入到了0x70大小的tcache中。

实验2
- 可以修改
size位,并且进行堆块的伪造,可以触发unlink或者是将堆块放入unsortedbin等其他bins中。这个其实在tcache_unlink中的内容,但是也算是对house of kauri进行一点扩展吧。
1 | // gcc -g -o lab2 lab2.c |
题目1_pwn1
1 | #include<stdlib.h> |
题目2_
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!

