-
-
[分享]第二题解题
-
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
输入"************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漏洞挖掘与利用;代码审计。