-
-
[原创]Chunk Extend and Overlapping笔记
-
发表于:
2020-6-26 16:17
7686
-
[原创]Chunk Extend and Overlapping笔记
然后 gdb 调试,因为前面 gcc 带着 -g 的参数,所以可以直接 b 行号
下断点
当程序进行了两次 malloc 之后堆的情况是这样的
下面第九行对 chunk1 的 size 位进行修改,成了这样
对 chunk1 进行 free 操作之后,两个合为一个 0x40 大小的了
之后我们再去 malloc 0x30 的话得到的就是 chunk1 跟 chunk2 一起的那个了,我们就可以控制 chunk2 的内容
由于这个例子的申请的 ptr 这个不在 fastbins 中,如果跟 top chunk 相邻,释放的时候会合并掉,所以后面加上一个 chunk,把他们隔离开,防止合并
分别在 11、12、13 行下断点,这是三次 malloc 结束之后的情况
这是修改之后的情况
这时候 free,因为不在 fastbin 范围里面,会放到 unsorted bins 中,可以注意到本来用来隔离的那一个 chunk 的 P 位被标为 0
这时候再 malloc 回来就能控制 chunk2 了
下好断点,两次 malloc 之后
free 之后,放入到 unsorted bins 中
对 size 位进行修改,然后再次 malloc 的时候就能对 chunk2 进行控制了
四次 malloc 之后
修改之后成了这样子
free 之后
这时候再去 malloc 就能控制那几个堆块了
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-6-26 19:29
被yichen115编辑
,原因: 再试试能发出来不