首页
社区
课程
招聘
[原创]第六题 Repwn题目提交
2019-2-26 17:52 2807

[原创]第六题 Repwn题目提交

2019-2-26 17:52
2807

团队信息:

团队名称:HaCky_

队长QQ:1434905079

题目信息

参赛题目:Repwn

题目答案:20101001X1Y0uN3tG00dHaCkWel1C0me

题目设计

本题使用的Pwn题和Re题相结合的方式,考察选手的综合能力。

首先,编码不加任何混淆和反调试,题目友好,在入口处不对字符串设置加密。

其次main流程简单,易于理解,设置两层check。

逆向思路简单,难度小

同时也有计算题,此处不设置麻烦的运算,这样无趣。

最后需要构造溢出点,这样更加贴近实战,写exp等

然后是溢出的地方,这里涉及到DES的识别问题,可以人工识别,最好是软件识别。本人菜鸡就不想搞变形的DES,这样难度会挺大的,能力也有限。

另外,对关键的字符串进行加密防止直接找到入口点,例如恺撒,异或

同时也考察了DES基础理解,因为有个比较cmphex是40个,但是des只有32个字节。哈哈,小心机一把。

格式为第一次输入+第二次输入

破解思路

0x01:查壳,不存在任何壳

0x02:拖入IDA中看到,定位到主函数,可以看到程序经过了两层验证check1和check2

0x03 过check1,得到大概key为xxxxxxxx(8位)X1Y0uN3tG00dxxx(x为未知数据,长度未知)

0x04 过check2,首先长度为24,进入check2_1,

Check2_1中

首先将输入转化为Input,然后初始化数字X,Y,Z,我们可以知道x,y,z的生成关系如下:x是input的前四个构成一个4位数,y是input[4-5]构成的2位数,z是input[6-7]构成的2位数,然后解方程,很简单。得到Input为20101001X1Y0uN3tG00dXXXX

然后到达溢出点,目标是寻找溢出点,这个有点坑,方法不唯一,我的想法是这样的:首先查壳的时候发现有DES加密函数,一直交叉引用到溢出点:401C10

现在的问题是如何达到溢出点。00401C10,又由于小端序的问题,顺序应该是101C4000,也就是说input[23]-47=00,也就是说input[23]为47的ASCII,同理,溢出点设计为#$@/,Key为20101001X1Y0uN3tG00d#$@/

0x5 溢出后

之前,我们知道了DES加密。得到加密过程如下

末尾有个比较

引用查看一下:unk_406010,整理出来是40位:但是我们知道DES加密可能会生成32位,不可能生成40位的,所以我们去其32位。秘钥为XiyouNet,DES解密得到:Wel1C0me

解密

最后也提示了flag格式,所以flag为20101001X1Y0uN3tG00dHaCkWel1C0me



[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2020-1-30 21:24 被kanxue编辑 ,原因:
上传的附件:
收藏
点赞1
打赏
分享
最新回复 (7)
雪    币: 7048
活跃值: (2609)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
netwind 13 2019-2-26 18:16
2
0
题目不符合规则要求,请修改!
注册码只能由字母数字或字母数字组合构成!
雪    币: 485
活跃值: (2124)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2019-2-27 09:56
3
0
netwind 题目不符合规则要求,请修改! 注册码只能由字母数字或字母数字组合构成!
好的,知道了,谢谢
雪    币: 485
活跃值: (2124)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2019-3-4 09:31
4
0
netwind 题目不符合规则要求,请修改! 注册码只能由字母数字或字母数字组合构成!
已重新提交
雪    币: 485
活跃值: (2124)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2019-3-9 13:54
5
0

2019.3.9日上传附件

上传的附件:
雪    币: 485
活跃值: (2124)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2019-3-11 19:03
6
0
修改多解
上传的附件:
雪    币: 485
活跃值: (2124)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2019-3-11 19:41
7
0
修改提示信息
上传的附件:
雪    币: 485
活跃值: (2124)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2019-3-12 15:49
8
0
修复蜜汁溢出的多解问题
上传的附件:
游客
登录 | 注册 方可回帖
返回