首页
社区
课程
招聘
[原创]KCTF2022秋季赛第二题 多解问题
2022-11-21 01:52 6268

[原创]KCTF2022秋季赛第二题 多解问题

2022-11-21 01:52
6268

直接运行,给一个任意输入,如图1:
图1
拖入IDA分析,如果输入正确结果,程序输出“success!”。如图2: 图2
接着发现使用了gets函数来接收输入,可能存在栈溢出的漏洞,给一个超长输入,发现main函数返回时崩溃,说明应该是覆盖到返回地址了,程序存在漏洞,如图3: 图3
分析栈空间可知,main函数返回地址为0x0040292f,我们只需输入内容覆盖该地址即可改变程序流程。如图4: 图4
分析可知,成功模块的地址为0x004027e6,所以我们只需要将栈上0x0040292f覆盖为0x004027e6即可。如图5: 图5
当将我们精心构造的输入结果输入时,程序成功走到“success!”分支,其中的字符‘a’可替换为其他任意可输出字符,所以程序应该存在多解的情况。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2022-11-21 15:22 被kanxue编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (1)
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
lelfei 23 2022-11-21 16:55
2
0
受教了!原来还可以当作pwn题再来一遍
游客
登录 | 注册 方可回帖
返回