-
-
[原创] 看雪CTF2018-第十二题-破解之道writeup
-
发表于:
2018-7-10 15:33
3872
-
[原创] 看雪CTF2018-第十二题-破解之道writeup
0x00 初步分析程序
0x01 确定校验算法逻辑
0x02 枚举搜索合适解
0x03 最终脚本
程序是64位的exe,运行程序,根据提示可知校验的输入是作为命令行参数传入,尝试输入AAAAA,会返回"registration failed"的提示:

strings搜索找到一个类似的,应该是对字符串进行了加密。

IDA打开,找到对应的地方:

从而确定调用(校验)的函数check。

跳过前面的一些初始化赋值操作,来到第一处校验---校验输入长度必须等于30:

然后进入第二处校验,这里对每个输入进行了FNV-1(64bits)的哈希操作,得到的哈希值和‘9’的哈希值进行比较,统计输入中包含9的个数,要求9的个数必须大于等于3:

然后来到第三处校验,同样是使用了FNV-1(64bits)的哈希,对输入的前9个字符分别哈希和特定字符的哈希比较,这里通过脚本穷举,可以得到结果为KXCTF2018:

来到第四处校验,这里对整个输入进行FNV-1(64bits)的哈希并和固定值比较,为了方便调试,先修改逻辑,跳过这部分:

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课