首页
社区
课程
招聘
[原创]看雪.安恒2020 KCTF春季赛第二题 子鼠开天 WP
发表于: 2020-4-16 23:15 8955

[原创]看雪.安恒2020 KCTF春季赛第二题 子鼠开天 WP

2020-4-16 23:15
8955

刷了下手机看已经有人一血了。立马打开电脑开撸。
先看到题目里有sn.txt,先看了下:原来是新规则,提供了一组用户名及对应序列号,试运行下,是个控制台程序:

Enter your name: B1AC71D22D82EBB1
Enter your sn: 1788bdf0f45ff24515cfb9313f6519039c24c635ee518afc320b915ecdbf1613
Congratulations! You did it!

先静态分析下,主程序代码比较明了:

输入长度限制跳过,直接看check_401380函数。其伪代码如下,:

校验的主要流程如下:

AES密钥是常量,RSA的N为256bits,可分解,用户名hash可以直接得到,似乎条件全了,可以由任意用户名求对应的序列号了。

在最后的求解过程中还遇到了点问题,因为rsa计算结果前16字节只校验了三个字节,那不是多解了,而且预设的序列号怎么求呢。想到题目提供的序列号是能过前面的check的,所以直接把它的rsa计算结果的前16字节直接拿来用试试,提交了下还对了。

晚上回来又把hash部分看了下:

解题脚本为:

结果为:6ED8BC1F04D0C360567FB579398265FEEC8B48DC4B804904FEB1AB538C823270

 
 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 227
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
写的很简洁,但是这个静态分析用的是ida嘛,需要如何设置和操作。谢谢老板。
2020-5-7 11:25
0
雪    币: 13713
活跃值: (2851)
能力值: ( LV15,RANK:2663 )
在线值:
发帖
回帖
粉丝
3
homily 写的很简洁,但是这个静态分析用的是ida嘛,需要如何设置和操作。谢谢老板。
是IDA,好象不用特殊设置吧。。。
2020-5-13 11:50
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
你好 想请教下:
1.check_401380  中有个判断 if  (aes(xx),ras(yy))  两个函数放在元组里面 意思 两个函数 返回0值  这个区块才为否吗? 
2. 你是如何判断 每个参数是干什么的呢 。。
谢谢了。
2020-7-15 11:53
0
游客
登录 | 注册 方可回帖
返回
//