首页
社区
课程
招聘
[原创]Chunk Extend and Overlapping笔记
发表于: 2020-6-26 16:17 7685

[原创]Chunk Extend and Overlapping笔记

2020-6-26 16:17
7685

然后 gdb 调试,因为前面 gcc 带着 -g 的参数,所以可以直接 b 行号 下断点


当程序进行了两次 malloc 之后堆的情况是这样的


image.png


下面第九行对 chunk1 的 size 位进行修改,成了这样


image.png


对 chunk1 进行 free 操作之后,两个合为一个 0x40 大小的了


image.png


之后我们再去 malloc 0x30 的话得到的就是 chunk1 跟 chunk2 一起的那个了,我们就可以控制 chunk2 的内容


由于这个例子的申请的 ptr 这个不在 fastbins 中,如果跟 top chunk 相邻,释放的时候会合并掉,所以后面加上一个 chunk,把他们隔离开,防止合并


分别在 11、12、13 行下断点,这是三次 malloc 结束之后的情况


image.png


这是修改之后的情况


image.png


这时候 free,因为不在 fastbin 范围里面,会放到 unsorted bins 中,可以注意到本来用来隔离的那一个 chunk 的 P 位被标为 0


image.png


这时候再 malloc 回来就能控制 chunk2 了


下好断点,两次 malloc 之后


image.png


free 之后,放入到 unsorted bins 中


image.png


对 size 位进行修改,然后再次 malloc 的时候就能对 chunk2 进行控制了


image.png


四次 malloc 之后


image.png


修改之后成了这样子


image.png


free 之后


image.png


这时候再去 malloc 就能控制那几个堆块了


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-6-26 19:29 被yichen115编辑 ,原因: 再试试能发出来不
收藏
免费 6
支持
分享
最新回复 (3)
雪    币: 359
活跃值: (14015)
能力值: ( LV13,RANK:606 )
在线值:
发帖
回帖
粉丝
2
emmm编辑的时候很多内容,发布之后就剩这一点了
2020-6-26 16:21
0
雪    币: 359
活跃值: (14015)
能力值: ( LV13,RANK:606 )
在线值:
发帖
回帖
粉丝
3
yichen115 emmm编辑的时候很多内容,发布之后就剩这一点了[em_36][em_79]
我知道怎么回事了,被一个emoji给截断了
2020-6-26 19:31
0
雪    币: 26245
活跃值: (63297)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
4
yichen115 我知道怎么回事了,被一个emoji给截断了[em_80]
是的,论坛过滤太严格了。
2020-6-27 09:23
0
游客
登录 | 注册 方可回帖
返回
//