chunk_overlapping
chunk_overlapping是堆中常见的漏洞
低版本下其打法主要有两种 2.27之后会新增pre_size和size一致性的校验
针对size位置的打法(此种打法是向后合并
直接修改一个正在使用的堆块的size位
然后free掉
实现overlap
1 | 1 //gcc -g test1.c -o test |
1 | 1 //gcc -g test2.c -o test2 |
或者对一个已经free掉的堆块修改size位,也能实现overlap
先free
修改size位
申请出来即可
1 | 1 //gcc -g test3 -o test3 |
同时对pre_size和pre_inuse的利用(此种打法是向前合并
利用的是smallbin的unlink机制
记得得free两个堆块
1 | //gcc -g test5.c -o test |
参考文章: