首页
社区
课程
招聘
[原创]KCTF2019 沉睡的敦煌wp
发表于: 2019-6-23 22:13 3200

[原创]KCTF2019 沉睡的敦煌wp

2019-6-23 22:13
3200

首先要泄露出来libc,构造unsorted bin。使用off-by-one申请chunk[i],然后修改chunk[i+1]的size为0x90并释放chunk[i+1],最终free7个0x90的块,此后0x90再释放就会进unsorted bin。

之后最开始我构造overlap chunk然后double free到一个释放的unsorted bin上修改其prev_size和size,实际上不用这么麻烦(且之后会出问题),可以先free一个中间块,再malloc它,在其中构造fake_chunk(大小为0x20)+0x20+'\x90'从而使其下一个chunk的prev_size为0x20,size为0x90,之前我们提到再释放0x90的块就会使其进入unsorted bin,现在释放这个chunk即可unlink。之后再add两次就可以得到重合堆块了,从而double free。


[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费 1
支持
分享
赞赏记录
参与人
雪币
留言
时间
PLEBFE
为你点赞~
2023-1-25 01:42
最新回复 (0)
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册