-
-
[原创] 看雪CTF2018-第十二题-破解之道writeup
-
发表于: 2018-7-10 15:33 3749
-
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)的哈希并和固定值比较,为了方便调试,先修改逻辑,跳过这部分:
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
谁下载
无
谁下载
无
谁下载
无
看原图
赞赏
雪币:
留言: