首页
社区
课程
招聘
[原创]CTF签到题分析
2021-11-17 20:43 2062

[原创]CTF签到题分析

2021-11-17 20:43
2062
一、提取有用信息

程序
成功与失败都有提示。

二、定位代码

od 搜索提示关键字,然后通过调试,找到关键代码范围。
提示
可以知道关键代码在sub_401340方法中。
通过ida更能直观看到。
ida
可以知道,序列号为9位。

三、分析代码
1
2
3
4
5
6
7
8
9
10
11
12
sub_401260 方法:
 
因为 sub_401260 方法通过 v16[(unsigned __int8)(j ^ v14)] ^ (j >> 8) 算法得出一个key,而 sub_401260(v7, 8) == 330861687,即 v7 是一个固定的值。
通过带入提供:
用户名 : 01F845C5B7C52E56
序列号 : 653259165
v7 = "52a1ed5a"
 
通过 unknown_libname_13 ===> common_xtox 方法:
可以知道 v2^v4 = 0x52a1ed5a,v2 = sub_401260('KCTF', 4) = 1592086348,根据^的特性,v4 = 1592086348 ^ 0x52a1ed5a = 205824534
 
其实正好碰巧吧,按理说还要分析 sub_40307F 方法才能确定序列号,看着有点复杂就先试试了得到的v4结果成功了。

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

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