2021年 年终总结

警告
本文最后更新于 2022-06-23,文中内容可能已过时。

2021 年 年终总结

我的博客迎来了第二篇年终总结!之所以到这么晚才开始起草年终总结,我觉得总来说是因为 2021 年对于我来说发生了太多太多令人意想不到的惊喜和收获了。

关于博客更新速度

现在我去回头去看去年的总结,其中有一条说是要持之以恒的把博客更新下去,我现在看来其实我的博客慢慢的更新变少了,我觉得总结出来有以下几种原因

  1. 学习的内容变少了,很少能有令人醍醐灌顶的比赛,原来觉得能够学到不少东西的 DASCTF,在现在看来可能就是为了争取名次所做的重复作业。
  2. 有些想要写的东西实在是很复杂,如果着手开始写可能需要好几天的时间去构思,而且现在学习的很多东西看上去就像是以前所学习的理论知识的实践,可能能写的东西不多。
  3. 在做一些对实际应用和场景的挖掘,由于这些东西可能是受到版权(法律)保护的,这部分内容就不适合展示出来。

其实我在早期学习的时候,也有收藏很多博客,但是里面的大佬总是在频繁更新一段时间后断更(就像我),在以前很难理解和明白这样做的原因,现在可能有些感同身受,限于时间和能力的影响,想要写出的东西确保正确完整,但是实际上这很难做到(例如 2021 年的博客里的很多内容,我是有二次修订的,因为内容存在错误等原因,想要减少这样的情况只能谨慎再谨慎,毕竟不能误导别人),综合以上这些原因,我更新博客的速度从原来一星期一更新变成了半个月甚至一个月更新一次。

关于 CTF 竞赛

最近一年参加的比赛可能我已经是算不过来了,可以说我基本上一个月里的四个礼拜,我基本上有三个周末是在比赛,但是现在慢慢的,比赛不如以前那么拼命了,以前比赛是一整天(上午 9 点 到下午 5 点),在最早比赛的时候,我基本上每次比赛都不会吃我的早中饭,直到比赛结束才会去吃晚饭,由此带来的身体影响我觉得是挺大的,这样很不好。

现在很多比赛都改成了两天的赛制,不得不说改成两天是能够提升题目的质量和难度,但在这样提升的背后一定是在比赛过程中害怕被反超的担心,因此这种赛制很容易造成熬夜,在夜晚花费大量的时间在赛题上,我觉得其实对身体比起前面那种更不好,也会养成熬夜的习惯,但其实在熬夜的时候,做题速度是很慢的,因为身体很累了,但是对于有起色和思路的题目来说,如果留到第二天解决又心有不甘,所以我经常会选择熬夜。

但是改成两天也是有好处的,相对以前的题目来说,比赛时间的变长意味着题目更有意思,更能让我学到东西(但是我个人来说还是更喜欢一天的赛制),在我的印象中比较大的几个比赛主办方的赛制情况列在下表中。

主办方线上线下常见比赛
永信至诚(i 春秋)早 9 晚 5AWDP(一天,CTF 赛题 + FIX 程序)大部分比赛
XCTF/360 政企看合作方,一般是两天AWD第五空间
安恒早 9 晚 5 、早 10 晚 5AWDDASCTF、西湖论剑
奇安信两天(题目难)AWDPTQLCTF、虎符
深信服一天 / 两天没打过羊城杯、深育杯

对于奇安信办的比赛,我的印象主要还是在于去年虎符,我记得去年和前年的虎符都是和 i 春秋 合作的,没想到今年不合作了,而且也是自己出题(听说线上的题目是交大的师傅出的),线下情况还不了解,但是据我所知,线下 AWDP 的平台应该只有 i 春秋才有吧。

对于我自己来说,我觉得比赛不是参加的越多越好,而是参加能学习到知识的才有意义(or 奖金多),就比如今年的 DASCTF 其实有些不能参与了,感觉题目质量很难让我学习到一些知识,但是今年的第一场比赛还没有开打,这件事情有待商榷。

关于竞赛获奖

自从加入 W&M 战队后,其实参加过大大小小的比赛获得过很多奖项,但是我这里主要还是罗列出我今年参与,且有我自认为比较高输出的大比赛所获奖项(当然也还有不是和 W&M 一起参加的比赛

比赛名次最终名次
2021 年虎符 CTF倒数(很差
2021 年第十四届全国大学生信息安全竞赛华东南赛区:亚军、决赛:一等奖
2021 祥云杯线上赛团队第三名
2021 蓝帽杯决赛一等奖
2021 浙江省大学生网络与信息安全竞赛初赛:冠军、决赛:冠军
第三届字节跳动“安全范儿”高校挑战赛 ByteCTF初赛:团队第一名、决赛:团队第二名
第十二届蓝桥杯软件类省赛 C++ 程序设计省赛:一等奖、国赛:二等奖
2021 西湖论剑网络安全技能大赛三等奖
2022 年虎符 CTF加油!

对于国赛来说,我觉得能够在第一次参赛就能够拿到一等奖,而且也是我们学校首个一等奖,我觉得运气成分是更多的,如果没有尝试去做可信计算的题目,如果没有在短时间想到不能上流量监控的办法,如果不是 AWD 赛制….

这些各种各样的原因,使得我意识到,其实这次获奖真的是运气好,对于我们这样一个几乎可以说是没有 Web 手的队伍,能够在 Pwn 和 Web 都拿到令人满意的分数。这也给我带来了很大的压力,因为起点太高了,我觉得今年真的很难维持住这样的成绩,不能给自己一个很好的交代。

就西湖论剑而言,其实我也有很多要说的,可能有一部分就来源于让我体会到了最早学习 CTF 那时候坐牢的感觉,赛前有些过于自信了,其实自己对于 IOT 一窍不通,但是我认为他不总会全是 IOT 相关的赛题吧,就压根没去研究过 IOT 相关的内容。

没想到还真是全 IOT,就连简单的 base64 逆向题都因为没法拿到题目的信息而根本无法下手,对于侧信道更是一点也不懂。在比赛过程中走错了方向,一直在琢磨如何拿到板子的 shell,但其实这事情根本没那么容易,网上也没有现成的资料和文章,完全要靠自己的理解。在后续过程中,还因为系统是 win 下的 Linux 虚拟机,始终没有办法使用 dfu-util,导致我花了很多很多时间琢磨这个问题。

比赛当晚就熬夜到了天亮,因为没有远程环境,所以只能盲试,直到比赛快要结束了,才解出了我们队伍的第一道 IOT 赛题。而旁边的 ha1 已经杀疯了,对于拖后腿这件事情,真的感到很难过,记希望于明年参赛时才再和 ha1 爷组队,把今年的错补上。

这里还是要特别感谢 cnitlrt 师傅(一直都还不会念这个 id,哈哈哈)。一年以来给了我很多很多的帮助,今年西湖参赛也和我一起熬夜攻克题目,还是那句话,我觉得如果没有认识 cnitlrt 师傅,我现在可能对于 PWN 丝毫不了解吧,也许会在寝室里用着电脑天天打游戏。在感觉到很困难的时候,也真的很感谢 cnitlrt 给我帮助和鼓励。

这里其实还有一件事情想要提一下,其实西湖那晚我是不打算熬夜的,因为我觉得比赛是到第二天下午结束的,今天晚上熬夜,明天白天肯定没精神继续搞了,另一方面就是我女朋友也不太支持我熬夜,觉得身体为重。但是很庆幸的是那天晚上, cnitlrt 师傅也陪我熬夜,女朋友知道我没做出题目后也很支持我做题,我觉得这两方面都给了我莫大的力量,让我继续研究题目(虽然成果不大),感谢大家的支持!

关于虎符我也有很多想说的,其实今年虎符我真的没想到能够入围,这件事真的很幸运。去年虎符的时候入围的原因是 PWN 里面有两个区块链的题目,都被我抄到了答案,这种很多人不会做的题目我拿到了分数,所以最后以 15 名入围了线下,这应该也是我第一次进入线下决赛,虽然最后是坐牢了,但是也让我看到了我的水平与高手的差距在哪里,以此给了我很大的动力去学习。

而今天收到了今年虎符的入围邮件,这次我相比上次对 PKS 有了一些理解,也有了一些研究,我觉得总不会像去年一样无从下手了吧。我个人觉得,就去年的虎符 PKS 赛题而言,第一天的题目更加偏向考察于对系统底层和硬件的了解、而第二天更像是去逆向他们的系统模块,找到系统模块可能的问题。不管是哪一种,我觉得对于我来说都是很困难的事情,所以最近就在着手准备和研究麒麟系统机制,这种研究对于我来说完全是从零开始的,因为之前我都没有这样去研究过一个系统的项目,在网络上也没有任何的资料,非常希望今年能够拿个奖回去(什么奖无所谓,因为总所周知虎符是没有低保的。

关于未来发展和研究方向

去年快要寒假的时候,我往腾讯官网投递了我的一份简历,用 markdown 写的一份我觉得很糟糕的简历。当时其实还是希望能够有机会内推的,因为我的学校不是很好,简历很难被捞到,但一方面比较熟悉的师傅据我了解没有在腾讯的,还有一方面就是其实我自身也还没有做好实习的准备,因为寒假时间很短,在辅导员那边不知道会不会同意我占用上课的时间去实习。

我记得差不多过了一个月吧,我觉得都要凉了的时候收到了腾讯玄武实验室面试的电话,当时可以说是又惊又喜吧。因为这件事情很意外,我觉得自己还没有准备好参加面试,也因为我觉得我是从官网投递简历的,但是还有这么一个机会去参加面试很不容易(被捞了很开心)

一面,感觉气氛很是压抑,电话群面但是能够感受到那边面试官是很严肃的。面试结束后我觉得很奇怪,因为在我印象中一面应该会问一些计算机基础这些东西,但是当时好像问的不是,也是一些比较偏的东西,甚至没有给我机会问问题,再加上很紧张,我记得我回答的不是很好,而且印象也不是很好。

二面,其实没想到还能进二面,这时候聊得内容我觉得都是可以接受的,起码是技术相关的内容,我觉得面试官很好,在我说对的时候也会肯定我,在我理解错的时候也能够给我提示。

然后二面面完后差不多三四天官网上显示我通过了二面,当时真的是很开心。然后我等啊等,就等到了寒假,最后等到了一个流程已结束,因为在整个过程中没有加过任何一个面试官的联系方式,我也没办法去问原因,真是很遗憾。

从这里之后,我开始思考这背后的原因,我把其总结为:“简历可能在格式上不够规范,信息上都缺少了很多内容,有些内容描述超出了自身的实际能力范围; 自身能力不强,对于很多实战会用到的工具了解不足(缺乏实际经验)”,所以在寒假的时候尝试修改了简历,至少目前来说我自己还是比较满意的,也尝试去研究了一些 AFL 的内容以及 JS 引擎。我自认为新学习的这些内容更多的是对我以前的理论经验实践化,所以相对来说还是比较轻松的(没有刚开始学 PWN 堆的那种无力感)。

之后应该是春招的时候,我又收到了腾讯 hr 的电话,和我约定时间面试,这一段面试的经过我都记忆深刻(因为过了也不是很久),但是少不了的还是很紧张,但是能够感觉到面试官亲和很多,最后通过了一二面来到 hr 面。这部分的面试还没有结束,虽然记得很清楚,但是不知道能不能经过作为一个公开的内容写出来,但我觉得还是要保持谨慎,所以还是不继续讲这次的面试了。

还有一个就是超出我预期的事情,因为我之前一直听学长说辅导员会卡你不让你去实习,因为怕你挂科什么的。但是这次我问了辅导员,他告诉我如果真的是去实习,他会帮我去申请请假的,这个事情让我觉得辅导员真的还是蛮不错的。虽然后面西湖论剑回来到现在都没法回学校,我觉得他也只是因为领导的安排没有办法吧,虽然按照金华地区的规定我是可以返校的,但是校内规定我要隔离 15 天,真的希望下次真的别再遇到这种事情了,也希望下次比赛还能出去,也千万别撞上疫情。

对于未来发展方向我只想好了大方向是二进制,但是具体要做什么其实还没有什么想法,我目前想的是,如果实习能够通过,我可以进去之后根据实习企业的安排和需要来专精某一个研究方向,在这样的情况下,因为有师傅的帮助,我觉得我也能够少踩很多坑,提升了学习速度后,也能更快更好的回馈给公司。

总结

就像和 2021 年一样,我也提出几个在 2022 年的愿景。

  1. 能够挖掘到第一个 CVE
  2. 能够成功的通过面试,参与到实习中
  3. 和女朋友已经在一起四年了!希望能够在一起五年,希望她千万千万还要继续线上上课呀!
  4. 希望能够在更多的比赛中取得好过去年的成绩,能够参与一些国际赛事(能够学到更多)

很高兴和感谢您能看到这里,写到这里也有将近五千字了,这些内容更多的是自己的一些有感而发,有些事情可能在 2021 发生了,但是我现在没有想到,也就没有写进去,以后想到了,可能就会补进去,也可能不会,总的来说,写这些东西就是一鼓作气的,这个气断了,也就不想写/没东西写了。

最后,希望自己和屏幕前在看本文的你,在 2022 年越过越好,心想事成!

0%