PWN堆house-of-kauri
-
适用范围:
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_
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!