首页
社区
课程
招聘
[原创] KCTF 2019 Q1 第六题 ret where des?
2019-3-24 00:05 2599

[原创] KCTF 2019 Q1 第六题 ret where des?

HHHso 活跃值
22
2019-3-24 00:05
2599

0x00 样例最初由 Hi_check_one_sub_4012F0 和 Hi_check_two_sub_401460 完成校验



0x01  Hi_check_one_sub_4012F0(int P1_lpkey) 逻辑比较明了
得到key[8~19] = X1Y0uN3tG00d,key[20]='H'


0x02  Hi_check_two_sub_401460(char*Str) 分两部分
(1)第一部分完成年月日的校验 key[0~8] = 20101001,来自下述简单三元一次方程的解
2010 10 01
key[0:3] key[4:5] key[6:7]
x y z

2*(x+y)=4040
3*y/2+100*z=115
x-110*z=1900
(2)第而部分进行堆栈覆盖返回地址,由于key[20]='H',  k[20]-'X'=0xF0,所以只能选地址对齐0xF0的函数,简单搜索下
0x00401BF0,所以得到key = 20101001X1Y0uN3tG00dHaCk

00404CF0
004012F0  HXCk 20101001X1Y0uN3tG00dHXCk
004015F0 
00401BF0  HXak 20101001X1Y0uN3tG00dHaCk
00401CF0
004020F0
00402DF0
00403CF0
00403DF0
004043F0






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

最后于 2019-3-24 00:06 被HHHso编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回