-
-
[原创] KCTF 2019 Q1 第六题 ret where des?
-
发表于:
2019-3-24 00:05
3261
-
[原创] KCTF 2019 Q1 第六题 ret where des?
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,来自下述简单三元一次方程的解
1 2 3 4 5 6 7 | 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的函数,简单搜索下
1 2 3 4 5 6 7 | 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
|
[注意]看雪招聘,专注安全领域的专业人才平台!
最后于 2019-3-24 00:06
被HHHso编辑
,原因: