Jcxp's blog

Jcxp's blog

There is no royal road to learning.

护网杯 mergeheap Writeup
前言这道题考察的是堆溢出在高版本的libc的利用方式,在高版本的libc中引入了tcache机制 tcache是libc2.26之后引进的一种新机制,类似于fastbin一样的东西,每条链上最多可以有 7 个 chunk,free的时候当tcache满了才放入fastbin,unsorted bin,malloc的时候优先去tcache找到对应大小的chunk. 漏洞分析在merge这个功能中,当分配的堆块占用了下一chunk的pre_size位时,strcpy的时候会将下一chunk的size也复制,再配合strcat会溢出一个字节,merge部分函数代码如下 123456789...
avatar
jcxp
another blog
FRIENDS
Jiancanxuepiao