首页
社区
课程
招聘
[分享]CTF2019第六题writeup
2019-3-15 15:50 2155

[分享]CTF2019第六题writeup

2019-3-15 15:50
2155

工具:ida、计算器、PYG密码学综合工具 v5.0.0.5

分析过程:

  1. 这一题花了不少时间,因为没有接触过pwn,一开始没弄清楚这个题是破解题还是pwn,补了一些pwn的知识,有了大概的了解,就继续往下干了
  2. 首先打开试了下,就是一个输入-检查的程序,载入ida,查String,发现了Please Input Your Key_ Now!,跟过去,切换到sub_4014C0函数中,断点调试
  3. 在sub_4014C0函数中掉了几个子函数进行校验,一次跟进去,反算出前面8位20101001,继续往下,拿到接下来的一段X1Y0uN3tG00d,总长度是24位,这里还差4位,后来更新了两个版本,确定了接下来的一位H。到这里,程序还不算困难。
  4. 接下来就卡了蛮久,strcpy(&Dest, a1);,这里有溢出,程序自动退出来了,后来补了一下pwn知识后,发现应该是利用这里的溢出,覆盖EIP
  5. 接下来就是找EIP了,H经过运算之后是F0,程序地址的前两位都是高位肯定是0040,反算出来是Ck
  6. 剩下还有一位待确定,在程序中找到0040xxF0的地址还不少,可以依次试下,我这里是看到了Haxk,先猜了一把是Hack或者HaCk,最后得出是HaCk
  7. 然后发现又是一个坑。。。卡了更久,直到群里通知破第一步就ok,然后提交至~
  8. 接下来的分析是第二层的,这里分析到DES加密哪一块怎么都看不懂,最后才明白就是标准的DES加密,简单写下分析的过程,首先发现是将输入8个字符拆成64位的二进制,然后经过DES加密,最后和9DB084AC97041E305697D5A499355A2832位的数组按位对比
  9. 调试拿到key是XiyouNet,然后就去解密,开始自己网上找DES解密java代码,但是不知道咋的一直解不出来,后来发现52爱盘有个PYG密码学综合工具,拉进去解密一下,嚯,居然出来了,解出来是Wel1C0me.
  10. 所以最后的flag是20101001X1Y0uN3tG00dHaCkWel1C0me

    ---END---


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

收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回