首页
社区
课程
招聘
[原创]第四题 ReeHY-main wp
发表于: 2017-6-7 15:59 5383

[原创]第四题 ReeHY-main wp

2017-6-7 15:59
5383

正常的double free题目。

题目在del的时候没有检查inuse位而直接free内存。可以触发double的利用。然后通过double free将一块正在被使用的内存free掉就是一个uaf。

这里我使用的方法是使用uaf去触发著名的unlink漏洞来完成利用。具体的技术原理可以看我以前写的博客http://libc.pw/2015/08/04/%E5%A0%86%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E%E7%AE%80%E4%BB%8B/


总的流程是这样的,首先create一块大小为0x1000的内存在index_1的位置然后释放,这样index_1处就有一个野指针,然后再创建一个0x1000的内存在index_0上。这时候0和1都是指向同一个内存的。然后再创建一块内存,防止之后free的chunk被合并到top chunk中。接下来就是在一个次释放index_1。这样虽然index_1指向的内存已经被释放了,但是仍然可以通过edit去修改。

此时内存结构应该是这样的

末尾的pad仅仅用来防止top_chunk的合并。



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

收藏
免费 2
支持
分享
最新回复 (5)
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2017-6-20 17:43
0
雪    币: 240
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
2017-6-22 00:49
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2017-7-26 18:06
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
虽然看不懂,但是希望在网路生涯继续提供知识共享~好人一生平安
2017-8-27 00:13
0
雪    币: 5
活跃值: (33)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
2017-10-30 16:23
0
游客
登录 | 注册 方可回帖
返回
//