首页
社区
课程
招聘
[原创] KCTF 2019 Q3 第一题 自我设限
发表于: 2019-9-24 20:45 4820

[原创] KCTF 2019 Q3 第一题 自我设限

HHHso 活跃值
22
2019-9-24 20:45
4820
一不小心,拿了一血,也因这个开场坐了“跛豪”【英译:To be NO. 1】的位置半天。
直到大人们看不过眼,给他打上【签到题】,才有后来的群起攻之。

如果真的是看重比赛得分的话,一般都会忽略签到题,因为最终得分太低。
做题的顺序一般也是先攻没人攻破的,这样得分率较高。
一个残酷的事实是,某场公安部、信息部有涉及的CTF赛事中,
一些团队攻破赛题数量上颇为可观,可最终却被一些只攻破一个赛题的团队甩几条街,这就是核心决胜策略。

乱世鬼雄,在人生前进的路上,不要给自己设限,尤其是新手,闻道有先后,术业有专攻,管它是人是鬼还是神,搞搞不就知了,开卷有益。
这有点凑字嫌疑,强扯抒情。

言归正传

全部攻击记录如下,回头写WriteUp,差点自己都没看明白:-)

请输入用户名:5D78C3FDF21998AC
请输入序列号:F3A0FD8D8DE1FEB889808A8FF2D7FDA2

C6 E4 CA B5 CE D2 B8 FC CF B2 BB B6 CB EF BC E1
C6 E4 CA B5 CE D2 B8 FC  CF B2 BB B6 CB EF BC E1  其 实 我 更 喜 欢 孙 坚


80 00 00 00 00 00 00 00

DA E5 23 10 06 71 95 71  4B A2 CE E2 33 2B B8 66

>>> u = 'KCTF'+'\x00'*12
>>> u
'KCTF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> x = 'C6 E4 CA B5 CE D2 B8 FC CF B2 BB B6 CB EF BC E1'
>>> x.replace(' ','').decode('hex')
'\xc6\xe4\xca\xb5\xce\xd2\xb8\xfc\xcf\xb2\xbb\xb6\xcb\xef\xbc\xe1'
>>> xb = x.replace(' ','').decode('hex')
>>> ''.join([chr(ord(u[i])^ord(xb[i])) for i in range(0x10)]).encode('hex')
'8da79ef3ced2b8fccfb2bbb6cbefbce1'
>>> ''.join([chr(ord(u[i])^ord(xb[i])) for i in range(0x10)]).encode('hex').upper()
'8DA79EF3CED2B8FCCFB2BBB6CBEFBCE1'

请输入用户名:5D78C3FDF21998AC
请输入序列号:F3A0FD8D8DE1FEB889808A8FF2D7FDA2

C6 E4 CA B5 CE D2 B8 FC CF B2 BB B6 CB EF BC E1
C6 E4 CA B5 CE D2 B8 FC  CF B2 BB B6 CB EF BC E1  其 实 我 更 喜 欢 孙 坚


80 00 00 00 00 00 00 00

DA E5 23 10 06 71 95 71  4B A2 CE E2 33 2B B8 66

>>> u = 'KCTF'+'\x00'*12
>>> u
'KCTF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> x = 'C6 E4 CA B5 CE D2 B8 FC CF B2 BB B6 CB EF BC E1'
>>> x.replace(' ','').decode('hex')
'\xc6\xe4\xca\xb5\xce\xd2\xb8\xfc\xcf\xb2\xbb\xb6\xcb\xef\xbc\xe1'
>>> xb = x.replace(' ','').decode('hex')
>>> ''.join([chr(ord(u[i])^ord(xb[i])) for i in range(0x10)]).encode('hex')
'8da79ef3ced2b8fccfb2bbb6cbefbce1'
>>> ''.join([chr(ord(u[i])^ord(xb[i])) for i in range(0x10)]).encode('hex').upper()
'8DA79EF3CED2B8FCCFB2BBB6CBEFBCE1'

(1)全局变量数组记录输出的用户名,
应当注意到,用户名信息长度是16字节
对于不够的长的用户名,通过memset补足零



(2)接着就是全局变量Hi_keybin记录序列号信息,32字节长度
如下左图,keyhex会先进行十六进制解码得到keybin,然后接着是右图keybin再十六进制编码得到keybinhex,然后与keyhex比对自校验。





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

最后于 2019-9-24 20:48 被HHHso编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//