-
-
[推荐]看雪·安恒 2020 KCTF 春季赛 | 第二题设计思路及解析
-
发表于:
2020-4-20 17:05
8936
-
[推荐]看雪·安恒 2020 KCTF 春季赛 | 第二题设计思路及解析
第二题《子鼠开天》历时1天,已于17号中午12点关闭攻击通道。此题共有3898人围观,最终共有42支战队攻破。
接下来让我们一起来看一下这道题的设计思路和详细解析吧。
本题考密码学,用到了AES,RSA,SHA512,MD5,不过算法应用不科学,分解RSA很容易得到答案。
另外,由于作者设计不合理,导致结果多解,修复后,仍多解。根据比赛规则,本题成绩为0。。
本题出题战队 想梦成真 :
团队简介:熟练掌握OD、IDA、CE,熟练使用OpenSSL库进行数据的加密和解密,自学汇编、软件破解和逆向课程,能制作单机小游戏(植物大战僵尸、捕鱼达人)的简单外挂,目前还在锻炼自己的Windows编程能力中。
(1) 先进行name和sn字符数的判断,不满足条件就跳转结束。
(2) 对sn进行判断,是否是16进制,是的话就转为大写SN,不是16进制就跳转结束。
(3) SN进行AES_ecb_128_decrypt 解密计算产生m。
(4) m进行RSA计算产生c。(c = m ^ e mod n)
(5) 对于c的前16个字节A进行判断,是否满足第一字节为0,第二字节为2,第16字节为0,有一项不满足就跳转结束。后16字节为B。
(6) 对name进行两次sha-512_MD5 离散加密产生C。
(7) 然后B和C进行比较,相同就成功,不同就跳转结束。
本题解题思路由AceHub战队poyoten提供:
刷了下手机看已经有人一血了。立马打开电脑开撸。
先看到题目里有sn.txt,先看了下:原来是新规则,提供了一组用户名及对应序列号,试运行下,是个控制台程序:
Enter your name: B1AC71D22D82EBB1
Enter your sn: 1788bdf0f45ff24515cfb9313f6519039c24c635ee518afc320b915ecdbf1613
Congratulations! You did it!
先静态分析下,主程序代码比较明了:
输入长度限制跳过,直接看check_401380函数。其伪代码如下:
校验的主要流程如下:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-4-20 17:34
被kanxue编辑
,原因: