由9001cc金沙首页战队组织的*CTF 2019 国际赛于 4 月 29 日上午 9 点经过 48 小时鏖战后宣告圆满落幕。中国大陆 r3kapig 与中国大陆 Nu1L 均解答出所有题目,分位于第一、二名,中国台湾 Balsn 位列第三。比赛吸引了来自 71 个国家和地区的诸多国内外战队参加,其中有 334 支队伍有效得分。参与队伍数较 2018 年相比增长接近翻倍。比赛中,国内外的重量级明星战队均有到场,例如来自美国 CMU(卡内基梅隆大学) 的 PPP 战队、日本 TokyoWesterns 战队、韩国 LeaveCat 等等。
比赛过程精彩纷呈,冠军之争呈现白热化,最终 r3kapig 与 Nu1L 展示惊人战斗力,实力吊打全场。赛事一开始,ISEC 战队率先提交 flag,获得分数排在第一名。但是这种态势并未保持太久,随着各个战队逐渐适应比赛环境,渐入状态之后,提交 flag 的次数与速度逐渐递增,前十名的战队不断更迭。赛事全过程中,flag 提交次数达 8681 次,其中正确提交达 1183 次。
比赛第一天,来自中国台湾的 Balsn 战队曾多次处于领先位置,但是随着中国大陆的 r3kapig、0ops、Nu1L 等战队开始发力之后,冠军之争就更加精彩了。尤其是比赛进入后期,中国大陆 r3kapig、中国大陆 0ops、中国大陆 Nu1L、中国台湾 Balsn 这四支战队彼此互不相让,第二、三、四的位置不断更迭,各队均想在最后时刻向冠军冲击,而当时处在第一名的中国大陆 r3kapig 战队也丝毫未敢放松,赛事竞争进入白热化的状态。最终,中国大陆 r3kapig 战队解答全部题目守住冠军宝座,中国大陆 Nu1L 战队虽也悉数解答所有题目但遗憾位居亚军,中国台湾的 Balsn 战队斩获季军。本次比赛夺冠也意味着 r3kapig 战队获得 XCTF 联赛赛事的三连冠。
数据统计显示,本场 CTF 2019 国际赛吸引了来自 71 个国家和地区的 1026 个队伍参赛,参赛人数达 5078 人。其中,中国共有 5385 个 IP 访问,覆盖全国 34 个省级行政单位(包括 23 个省,5 个少数民族自治区、4 个直辖市、2 个特别行政区)。此外,参赛群体较多的还有美国(439 个 IP)、日本 (184 个 IP)、韩国 (179 个 IP)、印度、德国、加拿大、法国、俄罗斯、新加坡等地。
比赛中,战队为参赛队伍精心设计共 26 道题目,分别涉及 Pwn、Reverse、web、ppc、Misc、crypto 等类型,对选手的信息安全知识水平和实践能力均提出了较大的挑战。其中,Pwn 题考察了选手对计算机系统安全的知识掌握,如 blindpwn 题中,需要考察选手在没有一个 web 服务的二进制程序源代码的情况下,利用栈溢出的方法来分析程序所存在的漏洞,并精心构造攻击向量,将程序的返回地址重定向到自己所指定的目标,从而达到控制程序的目的;通过在 Chrome 中 JS 虚拟机预设的漏洞,模拟数组访问边界检查失误导致的 “off by one” 错误,会使得用户有机会越界多写数组的一个元素,攻击者利用漏洞实现任意代码执行,进而达到虚拟机逃逸攻击;MISC 题目中有个类似推箱子的游戏,考察选手的编程综合能力,要求选手找到推箱子的最短路径,并编程进行实现。
同学们通过参加比赛,能够很好地感受到当程序设计不严谨时,一个小小的漏洞可能会给程序造成的巨大隐患。选手们通过构造攻击向量,也理解和掌握了信息系统的常见攻击方法,这对他们未来可能从事的系统安全防护工作极具帮助。
本次 CTF 比赛,战队的同学们精心准备,各类题目都设计精巧,在给参赛选手们提供了良好比赛感受的同时,对自己的知识和能力也是一次全面的梳理和提升,检验了自身的信息系统安全专业基础和综合开发能力,收获很大。
供稿:陈辰