首页
社区
课程
招聘
[原创]2019深思杯PWN题解
发表于: 2020-10-19 14:55 7231

[原创]2019深思杯PWN题解

2020-10-19 14:55
7231

这是19年的山东省网络安全技能大赛的 PWN 题,当时放弃拯救的我,把所有能保存的题目都保存了下来,最近复现一下


首先有一个检测,要把 key 找出来才能进入,使用 angr 就可以

image.png

找出来 key 是 xNd9y6

然后看一下位置,第四个

image.png

然后, 程序有一个后门,覆盖后面要执行的一个函数的地址为它就能打印出 flag 了

image.png


完整 EXP:

free 的时候只是把存放的堆指针的地方给置为 0 了,没有把 chunk 给置为 0

fastbin double free 的时候是这么一个指针

image.png

image.png

可以把 fd 指针的最后一位改成 \x50,这样再去 malloc 的时候就能申请到 0x603050

然后 free 掉,再 malloc 回来去 show 就能显示出来,然而我们会改掉后面那一位,不过不要紧,后三位基本都是 0x00 的

然后就能计算出 malloc_hook 与 one_gadget 的地址了

在我电脑上 one_gadget 中的 0xf1207 可以用

这个 malloc_addr 是算了个偏移,为了后面申请到 malloc_hook 的时候能有个 size 位绕过检查

然后还是上面的套路,fastbin double free 把 malloc_hook 的地址改为 one_gadget

然后去申请的时候就能拿到 shell 了

image.png


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

上传的附件:
收藏
免费 3
支持
分享
最新回复 (1)
雪    币: 20
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
6
2020-10-26 10:37
0
游客
登录 | 注册 方可回帖
返回
//