他观看完几场竞赛,转头注视身边全神贯注的唐照野,开始期待明天。
第二天一早,向度一脸严肃挑选衣服,今天的比赛不用穿正装,穿什么让唐照野比较舒适?
唐照野光着膀子,一手撑着头侧趟在床上:“你看起来比我紧张。”
向度说:“我这是激动,我看过职业联赛、体育竞赛,网络安全比赛头次见,而且还是你比赛。”
“提前跟你说,会很无聊。”唐照野说。
“有你在不会无聊,我看好你,我们家孩子最优秀!”向度又补充一句,“就是玩玩,你不要有压力。”
最后,两人穿的卫衣出门,衣服是昨天晚饭后买的,没想到进入夏天的旧金山还这么冷,向度还给唐照野戴了一顶黑色鸭舌帽,说这样比较符合黑客的刻板形象。
此次迷你CTF夺旗赛为个人赛。
解题模式:参赛者解决一系列独立题目,找出隐藏其中的Flag,提交即可得分。
题目类型包含:逆向工程、漏洞挖掘与利用、Web渗透、密码学等。
参赛人员共有50人,时间共3小时,以积分高低排名,相同积分则按完成时间先后排列名次。
奖金:
第一名10000美元。
第二名5000美元。
第三名3000美元。
竞赛大厅光线暗淡,与昨日讲座会场一样大,LED大屏上黑金色的背景海报加上炫酷的灯光显得很神秘。大厅中央50张桌椅五列十行成四方,四面围着黑金色隔离带,其外围是观赛区,这种擂台布局无形中给了参赛人员压力。
灯光随着音乐变化聚焦到大厅中央的参赛人员,频闪的光影错落成潮,男解说员嘹亮的声音响起:
“各位旗手,倒计时十秒,CTF夺旗赛将正式开始!”
电子大屏画面闪变,显示所有参赛人员名字,向度找到熟悉的拼音名字,给了唐照野一个鼓励的眼神。
旗手们个个蓄势待发,喧闹的现场瞬间一片安静。
“五、四、三、二、一!”
电子屏画面显示:倒计时[03:00:00]
迅即,大厅里响起整齐的鼠标点击声,接着零散的键盘敲击声,再接着两种声音噼里啪啦成了混音,压过了其它杂声。
开局。一个简单博客网站,一道常见的Web渗透挑战。
唐照野点击鼠标右键想查看网站源代码,却被禁用,他改为直接访问网站根目录,从中获取隐藏信息。Web渗透题型相对比较简单,而且本次迷你CTF夺旗赛时间短,出题不会很难,不然这点时间不够解一题。
因此,他必须要在众多对手中快速抢占入口,拿下一血,得高分。
然而,他刚进入目录后,2秒的时间目录发生变化,有对手篡改了目录信息。他快速做出判断,利用工具扫描后台,获取服务器源码,在对手还没在源码上做手脚时,访问受限文件。
竞赛已经过去十分钟,与周围有些眉头紧锁、吐槽的对手相比,唐照野很稳定。
他的位置靠近隔离带,站在五米外的向度,目光一刻也没从他身上移开,能站在战场上的男人,无论结果,此刻都在发光。
“唐看上去很轻松。”杰登小声说。
向度没有转头,目光依旧盯着场内,“参赛人员里面有专业CTF竞赛人员吗?”
杰登视线转向电子屏,拿出手机拍了一张参赛人员名单发给同事,很快,对面有了回复。
“没有,专业级的来这里就掉价了。”杰登说。
“也是。”向度点点头。
此时,时间已经过去15分钟,电子屏上所有人积分为零,场内进来观赛的人员越来越多,窃窃私语,都在观望是谁会拿下一血。
噔地一声,电子屏滚动,广播里传来解说员激动的声音:
“恭喜Robert成功拿下一血!积分800,榜首!”
场内一片哗然,紧跟其后,广播再次响起:
“恭喜Ethan 成功夺取Flag,积分200,上榜,排名第二!”
向度表面平静,但抱在胸前的双手紧捏拳头,唐照野敲击键盘像打在他的神经上。
接着,广播再次响起,电子屏滚动,新增三人,唐照野200积分上榜,名字跳到第五名。他摸着帽檐给了向度一个微笑,立刻又扑向下一题。
此时,倒计时[02:29:55]
下一题,解密。
唐照野点开压缩包第一个文件,电脑屏幕上跳出一张他们正在竞赛的超高清照片,右下角白色字体写着[14:44],他没有马上用工具分析照片,而是放大照片找到自己。
照片中,他电脑的时间显示为[14:54],又查看了能看清时间的其它人员,他思考了几秒,按照上一关出题人的思维想了想,他尝试把14:54数字连带符号作为密码输入。
提交,正确!
屏幕跳出一张熟悉的黑金色旗帜。
“恭喜Zhaoye Tang 成功夺取Flag,积分400!”
电子屏积分滚动,唐照野排名第四。
题目这么简单还是给了他一点意外,想着出题人应该留有后招在等着他们。
没停留,立刻点击下一关,看到是保险库解密,他思考一秒,快速返回上一关,给其照片加上高斯模糊,密码不变。
他手指飞快,发出清脆的键盘敲击声。
向度眼神犀利地观察其它旗手,试图猜测电子屏排行榜上前几名是谁,看了几圈无果,根本猜不出。
唐照野使坏过后三分钟不到,大厅里,陆续响起了旗手们的自言自语:
“不应该啊!”疯狂挠头。
“抓个日志分析一下……”
唐照野成功拖住落后于他的对手,顺利解开保险库三重密码后,他停了手。
打开保险库,里面有一张照片,是他加了高斯模糊的那张照片。
他放大图片找到自己,看到在像素点上他做的记号,犹豫了几秒,决定尝试输入一样的密码,提交后,居然显示正确。
但是没有跳出黑金色旗帜,这不是真的Flag。
点击下一关,还是一道保险库解密题,再次点进去,跟刚才他解密的保险库题目一模一样,这样下去就会陷入死循环。
是因为他做了改动,导致出现死循环?
还是不管是否改动,这就是一个死循环?
或者是陷阱?
他抬头看了一眼电子屏,排在他前面的几人积分没变,只是速度上的差异,说明他们也卡在了这里。
他调出进入这一题还没解密时的日志记录,在记录末尾有一个ID,与照片上的时间相同:[14:44],他为了证实自己的猜测,返回,输入这个密码,提交,同样显示正确,但没有拿到Flag。
同时,电脑上显示,他输入密码的次数只剩一次。
他尝试获得日志修改权限,担心日志被人篡改过,结果无法获得权限,他便不再管,眼神锐利继续扫日志。
日志上,第一个人拿到解密Flag的时间:[14:44]
这么巧!难道第一个人就改过照片?修改了权限?
向度注意到唐照野帽檐下的眉峰蹙起,手上的动作也慢了下来,大厅里旗手们的咒骂声越来越多。
“这题目太恶心了!”
“这到底是谁出的题!”
“嘶!为什么啊?”
“就循环到死吧……”
时间一分一秒流逝,倒计时[01:32:17]
“不对……方向错了。”唐照野闭上眼,重头开始梳理线索,跳出自己的判断,思考出题者的思维。
如果这道题真是个鬼打墙,那么出口得在墙里找,时间参数是一个误导。
他调出第二次输入密码的日志,看到了一个参数[cycle count(循环次数):1]。他立刻意识到,这个参数就是突破口。
他返回题目,开始循环解密第二关。在第二次循环开始前,系统请求第一关时,他拦截并篡改了这个请求,将[cycle count(循环次数):2]手动改为[cycle count(循环次数):0]。
果然,服务器接收到这个第0次循环请求,验证通过,没有将他引向第一关,而是指向了一个入口第零关。
点击鼠标,电脑屏幕立刻闪现一面闪闪发亮的金色旗帜!
解说员高亢的声音霎时响起:
“恭喜Zhaoye Tang 成功拿下第三关一血,积分1000!排名第一!”
与此同时,电子屏上他的名字滚动到第一名。
现场的观众与旗手们瞬间哗然,旗手们仿佛看到了希望的出口在等着他们,一个个鼓足干劲。
向度松了一口气,在唐照野转头望过来时,他竖起大拇指。
倒计时:[00:51:19]
第四题。一张乱码图片,从图块上可以看出这是解密题第一关的照片,难道这题是拼图?
唐照野看到这张照片哭笑不得,出题人未免也太懒了,果然,他听到有些选手崩溃了,在骂娘,在骂出题人垃圾。
不过,他玩得很开心,找到了在大学参加竞赛时那份乐趣。
拼图,对于他来说过于简单,用工具分析、扫描、对比,拼图完成。提交。
瞬间,屏幕一黑,出现一张眼笑眉飞的大脸:
[哈哈哈,你掉入陷阱啦!]
一闪,电脑完全陷入黑屏。
大意啦!
出题人的骚操作实在恶心,他都要吐了。
他暗自苦笑,要在黑暗中找到出口,挑战,才是竞赛的乐趣所在。
他这次不敢大意,伏在电脑上听到机箱风扇在转动,键盘指示灯也能切换,可以确认黑屏不是系统崩溃,是设计的黑屏程序。
他按下 Win + R(运行),盲打,输入命令,回车。

