首页
社区
课程
招聘
[分享]第二题解题
2017-10-27 13:45 2170

[分享]第二题解题

2017-10-27 13:45
2170

前面有个坑 静态分析 2组条件都符合才成功。

条件1

(B - A)*17 + B = 0xF3A94883 

(B - A)*5 + B = 0x8F503A42 

条件2

(B - A)*13 + A = 0xEF503A42 

(B - A)*7 + A = 0x33A94883


永远不可能成功。发现  00413131有一段被处理的代码。


输入"************11A"   *为任意字符串。

D:scanf溢出覆盖RETN地址 跳转到 00413131 构造'11A\0x00' 


****     ****     ****     11A 

===A  ===B  ===C  ===D 



根据00413131 代码得出 

 1.SHL((A - B), 2) + A +C == EAF917E2 

 2.SHL((A - B), 1) + (A - B) + A +C == E8F508C8 

 3.SHL((A - B), 1) + (A - B) + A -C == 0C0A3C68 


 公式 2 -  公式 3 可以得出 C = 6E756630 字符串'0fun' 


 根据后续代码 4E000969 ^ 6E756630(C) ^ 10A3E 可以生成 'You get ' 

 ^ (A - B) ^ 22511E14 要算出 'it!\0x00' 


 所以A-B = 2040F1A 带入公式1 

 A = 7473754A 'Just' 

 B = 726F6630 '0for'


最终答案" Just0for0fun11A"


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

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