Fork me on GitHub

2020年第二届“网鼎杯”-网络安全大赛青龙组writeup

本来还想比赛前多刷刷题,好好准备一下,奈何最近3周太忙,晚上又是日常熬夜学习,导致睡眠不足,不出所料又睡过头了。

虽然是一人战队参赛(围观),但是刷CTF赛可比和周公下棋有趣多了。于是10点过一醒就赶紧登录线上做题(开始时间是9点TAT),看了下签到题的完成数,想来应该不难,然后,20分钟过去后终于解了出来orz。(这次应该没人吐槽签到题太水了,当然,优质比赛的签到题也不该太水。)

1.签到题,Misc

除了Misc这个可用信息外没什么提示。

然后页面是一个选择战队logo的游戏,有3次选错机会,错第3次Game Over,过关有关于flag的提示,傻傻地我第一次做居然连console都没开。

第二次开了控制台,发现最后是有个post请求“/flag.php”,参数token,试着用curl模拟了下请求,不过返回的内容并不是flag。

1
2
➜curl -X POST "http://be3c0335e8c843fca42f1958a996120325d667b0d9154600.changame.ichunqiu.com/flag.php?token=icq7e52b17f5c55b57cxxxxx6481c83"
Enjoy the Game!

那么,还是回到页面和console,发现Network的抓包中有这么个请求

/static/index.js?v=1

好吧,应该就是游戏的主要逻辑了。

稍微观察下,关键代码就是这个部分:

1
2
3
4
5
6
7
8
9
next: function(k) {
var l = ++a.currentLevel;
if (a.currentLevel > a.maxLevel) {
var IAvaDcnZ1=prompt("\x70\x6c\x65\x61\x73\x65 \x69\x6e\x70\x75\x74 \x79\x6f\x75\x72 \x74\x65\x61\x6d \x54\x6f\x6b\x65\x6e\x3a")['\x74\x72\x69\x6d']();
$.ajax({url:'\x66\x6c\x61\x67\x2e\x70\x68\x70',type:'\x50\x4f\x53\x54',data:'\x74\x6f\x6b\x65\x6e\x3d'+IAvaDcnZ1,success:function(StRvT3){var StRvT3=StRvT3;console['\x6c\x6f\x67'](StRvT3)}})
window["\x61\x6c\x65\x72\x74"]("\u606d\u559c\u4f60\u5f97\u5230\x66\x6c\x61\x67\u4e86\uff0c\u53bb\u5bfb\u627e\u5427\x7e\uff01");
a.fire("gameEnd");
return;
}

这一堆编码难道还要解码?当然不用,签到题不至于这么折腾,当然,解码后审计会很直白。求效率直接把内容粘贴到console输出就能看到解码后的内容。

这段代码的逻辑是:变量IAvaDcnZ1获取你的team_token,然后用ajax POST请求flag.php?token=your_team_token, 然后在游戏页面中会判断StRvT3是否相等,相等就console.log出flag。

这里传入的StRvT3其实变量IAvaDcnZ1(即你的team_token),然后可以直接在游戏页面开console构造请求。


flag

Get Flag:flag{07bff243002e9a0ce7968a9250d28abc}

我开始做题那会儿大概看了下题型,居然没有一道Web题???后来做完签到题后,正好看到新鲜出炉的Web,下发环境观察了下,基本思路应该是利用php的反序列化。

Crypto那道”you raise me up.”对于熟悉密码学的CTFer应该不难,可惜我对密码学不熟TAT。

后来12:00时看了下新闻猛然想起当天是母亲节,赶紧慰问长辈们去了,后面放出的题就没继续跟进了。老老实实去刷攻防世界打基础了。

### 个人感受

虽然我是最近才接触CTF的,但是其实和以前刷一些线上黑客游戏挺相似的,只不过现在CTF出题更加专业且脑洞更大。随着国内CTF比赛越来越成熟,大型CTF线上赛的质量越来越好。如果认真想在线上赛中取得好成绩,还是需要在平时坚持多刷题多练习,多关注复现和学习CVE才行。

至于Web型选手,真的需要努力多项发展了。青龙组比赛结束后这个段子都火了。

> 以前的web手:做不出题
>
> 现在的web手:没有题做


scroe

最后,我想说一句:作为一个成熟的CTF“萌新”,你要学会安慰自己orz。(好好刷题,下次再不能把“网鼎杯”玩成“签到杯”了TAT)

-------------  Fin    Thanks for reading!  -------------

本文标题:2020年第二届“网鼎杯”-网络安全大赛青龙组writeup

文章作者:TesterCC

发布时间:2020年05月11日 - 20:05

最后更新:2020年05月11日 - 20:05

原始链接:http://blog.fullstackpentest.com/2020-wang-ding-bei-writeup.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。