目录

My 2023

我的 2023 或许要从 2022 的 10 月 21 日说起。

梦开始的地方

那是一个守望先锋还没退出国服的下午,我跟室友正在新皇后街感受宁静,结果就收到了 crazyman 发来的消息,本来是找我确认 HNCTF 中几道题目的解题思路的,或许是因为给出了几个非预期的解,被邀请加入 r3kapig 了。激动的心,颤抖的手,马上就把游戏退掉了(室友:?)

../assets/1327a180f2884fcaad3e6053a4a8d63e_MD5.jpg

然后就打开官网对着成员列表在群里一个一个的搜,再打开飞书各种翻通讯录联络表,感觉特别的不真实,要说在这之前也就只打过一个陇剑杯,虽然是运气不错一个人单刷了决赛,但也就是去垫底的,现在居然能到 r3kapig 来吊车尾了?或许是翻累了,经过多次反复确认之后,我才算是勉强开始相信这件事情。

渐入佳境

自那以后我就开始频繁上线活跃在各大国际 ctf 赛事中了,几乎是逢赛必上,经常看题到半夜两三点。开始的一段时间或许是还在摸索做题的感觉,成绩并不是很好,没有贡献几个解。等到开窍应该是在 23 年年初的 idekctf,那两天的状态特别在线,pwn、web、misc、osint都有我参与解题的身影,也是那一次比赛,第一次在国际赛拿血,第一次分到了奖金,也得到了一些老大哥的认可,能够写一些拿得出手的分析和题解了。或许是对 ctf 不再感到那么陌生,或许国际赛于我而言不再是一片未知,自那之后似乎从一个初入赛场迷茫无措畏手畏脚的新手开始蜕变。DiceCTF、KalmarCTF、HackTM CTF、WolvCTF……我似乎能够开始稳定解出一些国际赛的题目了。这对我而言无疑是巨大的激励,恰逢寒假在家时间充裕,不断的正反馈让我逐渐沉浸在 ctf 之中,甚至开始挖一些 src 和 cve 了。那是我最享受比赛的一段时间。

../assets/7f74c1d03314b08128befd39ea08dcea_MD5.jpg

XCTF

到了三月,XCTF 决赛终于定档了,一些之前没有做完的准备工作也被重新提上了日程。我也正好赶上了这个机会,看到丁佬在群里找有空的同学帮忙测试,当时特别纠结,之前都是参加比赛,现在有个机会可以参与到大型比赛的筹备当中,确实打心底是想去看看自己能不能帮上忙的,但是又觉得队里面藏龙卧虎,队友都超有才的,说话又好听,自己刚进来没多久不知道有没有这个能力,再者说之前跟丁佬也没有什么接触,只在别处听闻过他的传说,多少还是有一些敬畏,所以很是犹豫(i人实锤了)。最后还是决定试一把,去看看怎么个事。

就这样,我进入了 Dota X CTF 项目,开始维护起了丁佬和 @liangjs 两位佬已经写得差不多的项目。得益于从初中开始锻炼的开发能力和些许开源社区的贡献经历,我能够比较快速的上手项目,找到一些不太符合预期的问题,并还算规范的编写、提交代码。也因此有幸获得了丁佬的赞赏,说很久没有看到搞安全的有这么好的开发习惯了,能够得到领域大佬的认可,我想不管在哪个行业都是一件令人高兴的事情。

月底比赛开始的时候,我以裁判的身份去了南京,这也是我第一次一个人出远门。Nu1L、AAA、0ops、天枢……一个刚入门不到半年的新人,现在居然能够侥幸当一个国际赛事的裁判,多少还是有点兴奋。值得庆幸的是我负责的部 dotaxctf 分并没有出什么差错,似乎大家也比较喜欢这个部分,让我颇有成就感。更令我意外的是居然还阴差阳错代表 r3kapig 上台接受了诸葛建伟博士的颁奖。

../assets/e603ea14a544d510236ef94a0453ff7f_MD5.png

南京之后,我也从实习队员变成了正式队员。可惜的是似乎从那之后学校、工作的事情开始变得多了起来,比赛的时间也越来越少了。

实习起点

大三下学期的春招季,身边不少同学都开始投简历去实习了,我当时其实还是比较的迷茫,因为我入行安全实在是太晚了,比赛成绩、安全项目都没有什么可拿得出手的,再加上本科所学的是人文地理与城乡规划,根本不是计科类的专业,对于找工作这件事心里难免会发怵,自己应该如何跟其他师傅竞争。万幸的是这时学校 CO 科创团队的老大拉了我一把,腾讯、阿里、小米、国家电网……他通过自己的人脉四处为我寻求内推机会,也教了我许多求职的技巧,很是感激。最终面下了国家电网的实习,约在七月暑假入职。心里也算是放松了一下,至少不会沦落到没处可去的地步。巧合的是,这次也在南京。

但当时离七月还有一段时间,碰巧有一个朋友找到了一个就在重庆的实习工作,闲着也是闲着,我就尝试着投去了简历,就这样开始了三人在同一家公司开黑实习的日子,我也终于能够自食其力了。这份实习的主要内容更偏向于我接触更少的渗透,虽然所用到的技术都是那一套,但是相对于更偏研究的 ctf 来说,要学习的工具、技巧还是很多的。也是在这里,我看到了安全更多的角度,也对这个行业有了更多的理解,在比赛之外,安全的魅力还有很多。

回归学校

或许是对于半年来的经历心存感激,想要把自己所掌握的知识和资源分享给志同道合的学弟学妹,让他们也能够更快速地进步,我在本可以放手不管退居二线的大三选择跟学弟一起继续运营发展学校的网络安全。

首届校内赛

从我自己的经验来看,相比于听课的枯燥,不如自己做题的成就感来得直接,趁着国赛即将开始,我计划举办一个校内赛来寻找对 ctf 感兴趣的同学。同时,我也不希望这个比赛应试化,再加上自己本来就是开发出身的,不希望题目像某些 php 题一样加一个 highlight_file 就放出来,多少有点简陋。于是在出题上面花费了大把的时间。

不过结果都是好的,真的有许多同学通过这个比赛对 ctf 产生了兴趣,并愿意继续学习,这无疑是对我出题最大的回报。

../assets/38246e12343d32c4fe288e113b26d3af_MD5.jpg

国赛

作为一个工商类大学,我们学校是没有网络安全专业的,在我之前学校在这个领域几乎是一片空白,甚至都没有在国赛的系统中注册。从零开始凑出了三个参赛队伍,不管结果如何我们总算是迈开了步子。不过让我惊喜的是,我们最终有两个队伍拿到了西南分区赛的门票,甚至还在比赛中拿到了一个一血,似乎这也并没有想象中的那么困难,让我对校队的建设又多了一点信心。

23 年的西南赛区在云南大学举办,很幸运的是我们学校有一个很看重安全的信息办主任,从校内赛以来就对我们多有支持,更是直接包了我们八个人车票和酒店费用。终于,我不是学校唯一一个在大型比赛线下赛场出现过的人了,纵使决赛出线的几率对于我们而言仍是未知,但出来参加比赛本身也是一种经验的积累了。

但比赛终究是比赛,实力才是硬道理。我们以一题之差无缘了决赛,现在回想起来其实完全是有机会进入前十的,或许是比赛的快节奏使得我有些紧张,出现了多次失误,先是把 patch 包的 update.sh 写成了 updat.sh 导致一直没有 fix 上错过了好几轮;又是在 ida patch 的时候没有恢复之前的更改,一系列高血压的操作让我们丢了不少得分,最终拿到了二等奖。

../assets/acb1764ad6c1789e30e7ec051eafd6cc_MD5.jpg

不过对于一个刚起步的学校来说,似乎也是一个看得过去的成绩了。还顺便享受了一次公费旅游,线下还见到了 r3 的队友川大的 Lotus(上图最帅的一个)和 Syclover 的 Myth3me,算是一次不错的线下经历了。

有意思的是,这次国赛我不仅是选手,还给东南赛区贡献了一道题目,也算是我第一次真正意义上的出题了吧。

南漂

到了比赛结束,也是时候出发前往南京实习了。在此之前其实还到北京带了差不多半个月的培训,借着这个机会也跟丁佬聚了一次餐,线下见了一面。培训结束到南京后就开始自己租房子、收拾房间、买各种生活用品,还买了人生第一辆(电动)车,感觉自己一夜之间就成一个大人了。

../assets/64247cc8dbee720b5c254f9580b9c214_MD5.jpg

工作方面不管是组长还是同事对我都很好,让我第一次出远门南漂也没有太多的不适(也感谢之前 XCTF 认识的 beta 师傅)。不过令我没有想到的是这份工作几乎每周都要出差,在我实习的一段时间里似乎出租屋是我睡得最少的地方,大部分时间不是在出差就是在出差的路上。但对我而言其实算是个好事,因为从小其实并没有去过多少地方,借着出差多走走看看我也是很乐意的。

../assets/284ede24c562ade564dbbcab0032e900_MD5.png

走出国门

就这样四处出差到了八月下旬,Codegate 2023 Final 的时候。其实这次韩国线下的名额最开始是没有我的,也算是厚着脸皮去要来的,因为当时自己在比赛中已经不太活跃了,对于解题也没有太多的贡献,所以也就不太好意思去要这个名额,但是又看到了 crazyman 在 Discord 里面摇人,于是就去问问怎么个事,没想到真就让我撞上了。

../assets/3739701d9348615eaffe7762d0fc89f1_MD5.png

就这样我获得了人生第一次出国的机会(其实之前还有一次 Hack TM CTF 能去罗马尼亚的,也是那个时候才办了护照,但是由于没有找到赞助商最后不了了之了)。为此还特地去找刚从韩国回来的 Kiprey 师傅请教了一番,办签证、换韩币、流量卡、出入境事宜等等东西都跟我讲了一遍,帮了我这个没出过国的小白许多。

总之,8 月 23 号我就跟 crazyman 抱团从天津去了韩国。我们俩都不懂韩语,好在有韩国队友带着(thank you KIM)我们也是顺利到达了酒店入住,晚上去找了一下会场位置后就趁热去找了一家烤肉店品尝了一番(虽然跟国内似乎差不多哈哈哈)。

正式比赛的第一天我们也是早早到了场地配置好了设备,本来开始都还进展的不错,在我模糊的印象中似乎是排在第四,但是由于一些比较抓马的原因被 disqualify 了,当时人有点懵,有点不太理解,但是事已至此,来都来了,也还是看看题、去茶歇区薅点零食吧,就当是纯粹来旅游了。

../assets/01d90b9183174a4098508f4a0e07fa14_MD5.jpg

比赛结束之后 crazyman 就开始了他的经典贴纸社交,到处发 r3kapig 的贴纸,而且好像每个人都认识他,给了我这个 i 人亿点小小的震撼。我也跟着见了一堆之前只听说过传说的队伍,练了一下英语口语,什么 DiceGang、organizers、Super Guesser,见到了老队员 stypr,还跟印尼 SKSD 的一个师傅一起吃了炸鸡(虽然只有我跟 crazyman 在吃),跟 Super Guesser 的师傅们一起吃了烤肉,总的来说还是很开心的。

🐧玄武打杂

当我准备去韩国的时候收到了消息,玄武实验室有 hc 了,根据我前几次的经历不难推断,没错,我这次遇到机会又懵了,腾讯?玄武?这是我能去的地方吗?当时脑子里面特别乱,改了好多次简历都不知道到底怎么写才好,甚至到了机场候机的时候、下了飞机吃烤肉的时候都还一直在改简历,最后算是赶 deadline 交了过去。

在交简历的第二天,也就是 Codegate 比赛的第一天晚上,我在比赛会场外面接受了电话面试,整个一面有差不多一个半小时,虽然大多数问题都还能答上,但是或许是有些紧张,或许是有些东西时间太久有些遗忘,总还是有些地方没有说好,但是也算是有惊无险通过了一面。

后来的二面就是回国之后的事情了,虽然整个面试只有不到四十分钟,但是跟上次只有一个面试官不同,这次是三个人对着我输出,而且问的问题感觉也会更详细,有深入的有宏观架构的,再加上当时有一些工作也确实没怎么准备,就拼命回忆,把自己能够想到的东西全部都说了,自我感觉面的应该挺炸裂的(虽然后面听说其实面的还可以),甚至都没抱什么希望了,但是当我下午正在嗦面的时候还是怀着试一试的心态打开校招平台的时候发现结果居然通过了!

再到后面就是一个多月的等待了,最终在 10 月 20 日入职了玄武。

巧合的是,这刚好是我加入 r3kapig 的第 365 天。

../assets/7af5b151e24c97aed6d4f8493e679a61_MD5.jpg

再战

Codegate 作为我参加的第一个线下国际赛,算是留下了遗憾,不过在 23 年末还是抓住了机会去到了沙特的 BlackHat MEA 和日本的 SECCON。

BlackHat MEA

其实这次的状态一直不是很好,落地当晚似乎就感冒了,也不知道是阳了还是甲流或是其他的什么东西,但总之那几天全部都是头晕嗓子疼的情况,而且这是一个三天的比赛,还是比较难顶的。但是我意外的进入状态比较快,从三月之后很少有这种专注的看题的时候了,解出了大部分的 web 题目,有一道黑盒的题目还差点拿了一血。

不过或许是因为身体的原因,还是有一些撑不住,加之题量也比较大,一个人想要 ak 还是有一些难度的,最后似乎是 web 这边头两天都只差一道题能做出来但是时间不够的题目,第三天差了两道题。最后在黑灯封榜之前在第十名,正式结束之后好像排在了第十二(不过我没有看到结束成绩),遗憾离场。

但是这次主办方还准备了 tour 和晚宴,而且包了往返的阿里哈德航空机票,是体验不错的一次旅游(doge)。还见到了 Oroggs 和 mochi,C4T BuT S4D 的老毛子,以及一些其他国际队伍的佬,甚至收到了哈萨克斯坦师傅的礼物,怪不好意思的,也没有什么东西好回赠他们。

../assets/a2cfb3bd523e4902ce02753a5ce3087b_MD5.jpg

SECCON

日本的 SECCON 是圣诞节那段时间去的,这次是 r3kapig 和 Project Sekai 组的联队,但两天都挺坐牢的,整体的 web 题目难度比较大,也就只有两道题目算是能做,只能又算是一次旅游了 XD,最后是靠队友带到了第七,下面是一些游记。

不出所料地又见到了一大票佬,见到了 qyx、sahuang,比赛结束之后跟 @maple 谈了许多,以前都是在网上看到,这次总算是见到真人了。然后还去了东京的很多地方逛了逛,本来说是要去富士山的,但是时间比较紧,再加上一些其他的原因最后并没有去,下次一定。

../assets/969bbf31a236a41d04aea43290651967_MD5.jpg

END

2023 年的一切对我来说都是那么的不可思议,一年前的我怎么都不可能想到我会走到今天这一步。之前大型比赛都是望而却步,而如今却能给XCTF、国赛、强网杯这种比赛出题;之前对那些厉害的佬只能默默仰望膜拜,而现在成了同事,一年的变化太大。

让我想起了一本书,《悲观者往往正确,乐观者往往成功》,这一年我不止一次在机会面前犹豫,总觉得自己的能力尚缺,不足应对,但最终都得偿所愿。机会就摆在那里,不去试一试怎么知道呢,试一下又不会怎么样,成功了再好不过,失败了也是难得的经验,何惧之有。

毫无疑问,我是幸运的,之前看到的一种说法,运气是可以自己创造的(),似乎从我的经历也得到了印证,只有不断地尝试,不断地与外界接触才会有各种机会。也感谢在大学中的种种经历,让我这样一个原本社恐晚期的人能够走出舒适圈,勇于探索前路的未知。

感谢帮助过我的所有人。

完。