CTF入门指南:六大方向、学习路线与实战避坑全解析 📅 发布时间:2026/9/16 3:10:11 👁 浏览次数: CTF全称Capture The Flag夺旗赛。我第一次听到这个词是在大学社团的招新宣讲上。当时学长放了一张截图上面是一个网页上的输入框旁边写着一句A hackers work is never done他说这就是一道Web题拿到flag的标准姿势是在里面注入一段精妙的payload。说实话当时我连flag是什么都不知道更分不清SQL注入和Python报错有什么区别。后来踩了无数坑、刷了上千道题、从被血虐到能带新人才慢慢摸清楚这条路的脉络。所以这篇东西我想写给所有对CTF感兴趣、想入门的同学不整虚的只讲你真正需要知道的东西六大方向到底在考什么、入门路线怎么搭、高频题型怎么拆、靶场平台怎么选、以及那些没人告诉你的避坑经验。这篇能帮你省下至少三个月的瞎摸索时间。1. 先搞清楚赛道再努力CTF六大方向到底在考什么很多新手一上来就到处找教程结果发现这个教程讲Web那个教程讲Pwn再刷一个视频又在讲密码学越看越乱。原因很简单CTF不是一个单一技能而是好几个完全不同的安全方向的统称。先看清赛道才知道自己要往哪儿跑。1.1 六大方向速览每个赛道比什么、新人怎么选比赛里常见的题目方向大概可以分成六块Web、Reverse逆向、Pwn二进制漏洞利用、Crypto密码学、Misc杂项、Mobile移动安全。它们之间的差异比前端开发和数据分析之间的差异还大。Web方向考的是网站应用层的漏洞利用。你面对的是一个跑在浏览器里的真实网站里面有SQL注入、XSS跨站脚本、文件上传、文件包含、命令执行、反序列化、SSRF等等。目标很直白通过漏洞拿到网站里的flag字符串。这个方向对新手最友好因为Web应用的概念大家接触得多学起来心理门槛低而且知识点直观你往URL里拼一个单引号导致页面报错立刻就能看到反馈。Reverse方向是把一个编译好的程序交给你比如Linux下的ELF文件、Windows下的EXE文件或者一个Android的APK让你通过静态分析和动态调试搞清楚程序内部逻辑逆向出隐藏的flag。它考的是汇编基础、反调试技巧和耐心。入门门槛比Web高因为你要先懂程序是怎么编译、怎么运行的。Pwn方向则是二进制漏洞利用最早来源于游戏里的own这个梗拼写成了Pwn。题目给你一个运行在远程服务器上的有漏洞的程序你要利用栈溢出、堆溢出、格式化字符串、整数溢出等漏洞劫持程序执行流程最终在服务器上拿到shell。这是CTF里对操作系统、汇编和底层原理要求最深的领域也是新手最容易产生挫败感的方向。Crypto方向是纯数学和算法的对抗。从古典密码的凯撒、维吉尼亚到RSA、AES、DES这类现代密码算法再到现在火热的格密码、同态加密本质上都是给你一堆密文和残缺的线索让你找到加密过程中的薄弱点反推明文。它不需要你搭复杂的Web环境但需要扎实的数学思维和Python脚本能力。Misc杂项是最有意思也最杂的一个方向涵盖流量分析、图片隐写、音频隐写、压缩包分析、编码转换、取证分析等等。它考的是对数据格式的敏感度和工具熟练度。很多安全岗位的面试官喜欢问Misc的题目因为它最能看出一个人是不是真的喜欢折腾。Mobile方向是逆向和Web的交叉分析Android或iOS应用寻找客户端里的漏洞或硬编码的密钥也有配合服务端的题目。近两年热度上升很快。为了让你更直观地选择我把方向难度和对应就业方向整理了一下方向入门门槛前期挫败感对口就业方向新人推荐度Web较低低安全工程师、渗透测试、红队高Misc较低低安全分析、威胁情报、取证高Crypto中等中等密码学工程师、算法安全中Reverse较高较高逆向工程师、病毒分析、加固中Mobile较高较高移动安全、Android逆向中Pwn高极高二进制安全、漏洞挖掘、CTF战队主力低1.2 别急着“全会”确定主攻方向的三个判断标准我见过太多新人今天看Web有意思就学三天明天看到Pwn拿shell很酷又去学两天最后什么都懂个皮毛什么都做不出来。选主攻方向我建议你用三个标准来判断。第一个标准是兴趣能不能支撑你熬过瓶颈期。每个方向学到一定阶段都会遇到怎么都做不出来的题可能一道题要卡一周。如果方向本身让你觉得无聊你是不可能坚持下来的。你可以去每个方向的入门题库里各做十道题做完之后问问自己哪十道题是越做越兴奋的第二个标准是你现有的基础储备。如果你已经熟练掌握了Python、JavaScriptWeb和Misc上手会非常快如果你对数学特别敏感、线性代数和数论基础好Crypto可能是你的天赋点如果你对操作系统原理和汇编有天然的好感那直接奔着Reverse和Pwn去。第三个标准是现实层面的就业考量。目前国内市场对Web安全和渗透测试的岗位需求最大其次是二进制安全和移动安全纯Crypto方向的岗位相对少但壁垒更高。如果你以就业为首要目标Web确实是一条更宽敞的路。我个人建议新手的第一站选Web或者Misc。原因很简单这两个方向能让你在最短时间内感受到“做出题目的快感”这种正向反馈在入门阶段比什么都重要。等你有了自信和基础再横向扩展去学逆向和二进制你会发现自己理解底层的能力完全不一样了。2. 从零搭建知识体系入门阶段的学习路线与资源用法CTF没有官方教材没有固定考纲很多新手就迷失在“不知道学什么”和“不知道学多深”这两个问题里。我这里给一条被验证过无数次的路径。2.1 三阶段学习路线基础、专项、参赛我把整个学习过程粗暴地分成三个阶段每个阶段的目标和策略完全不同。第一阶段是打地基目标是建立“看得懂题、找得到资料、能装好环境”的基础能力。这个阶段不用碰难题先把编程语言、网络基础、Linux操作三样东西补齐。编程语言首推PythonCTF里大部分脚本都用它写学习时不用追求多深文件操作、网络请求、数据处理这三个部分必须熟练。网络基础至少要搞懂HTTP协议是怎么回事、请求和响应的结构长什么样、Cookie和Session是用来干嘛的这些是Web题的地基。Linux操作至少要会cd、ls、grep、find这些基本命令会装软件、会看进程、会给文件权限因为绝大多数题目环境都是Linux。第二阶段是专项突破按你选的主攻方向系统刷题。这个阶段的核心策略是“按知识点分类刷不按难度乱刷”。比如你选Web就把SQL注入、XSS、文件上传、文件包含、命令执行、反序列化这些标签分别刷上二十道题。每刷完一个标签你脑子里就会形成一张知识网这个漏洞的成因是什么、常见绕过手法有哪些、什么环节容易出考点。这里我特别强调千万不要今天做一道Web明天做一道Misc后天再做一道Crypto毫无章法的刷题效率极低刷一百道也是散的。第三阶段是参赛复盘目标是适应真实比赛的节奏和难度。此时你可以组队参加线上赛了比较常见的是各种论坛和平台组织的月赛以及各大厂商和高校举办的年度赛。比赛的意义不在于名次而在于逼你在有限时间内、面对陌生题目做快速决策。赛后一定要复盘把自己没做出来的题认认真真重新做一遍把别人的解题思路和自己的思路做对比这个环节是水平提升最快的时候。2.2 知识库、题解与Writeup的正确打开方式网上有大量前辈整理的CTF知识库和GitHub学习路线很多人把链接存进收藏夹就再也没打开过这个习惯是入门的头号杀手。存下知识库只是第一步关键是怎么用它。我的经验是知识库不是当书来读的是当字典来查的。你做题时遇到了“伪加密”这三个字先去知识库里搜“伪加密”看原理遇到了“git泄露”就搜“git泄露”看利用方式。这种带着问题去查的检索式学习比从头到尾翻一遍印象深十倍。你收藏的那些“CTF工具包”也一样不用试图一次性装齐全用到什么装什么装一个就练熟一个这才是工具的用法。Writeup别人的解题报告同样有正确的打开姿势。我见过不少人做题卡了五分钟就看Writeup看完恍然大悟然后关掉页面觉得自己学会了结果下次遇到同类题还是不会。正确做法是先给自己设一个“死磕时限”简单题半小时难题两小时实在没思路才看Writeup。看的时候不要只看答案要看作者的思考过程他是从哪里开始怀疑的为什么先尝试这个方向卡住之后是怎么切换思路的看完之后把页面关掉自己从头写一遍解题过程能独立写出来才算真正吸收了。还有一点我强烈建议从入门第一天就养成写Writeup的习惯。不用给谁看就写给自己。每做完一道题记录题目类型、踩过的坑、用得上的命令和工具。等你积累了五十篇你会发现这些就是属于你自己的知识库比任何大牛的教程都更适合自己。我目前的工作中遇到一些疑难问题翻自己的Writeup笔记常常比搜索引擎还好用。3. 高频题型实战拆解从判定到拿Flag的完整过程你搜CTF相关的热词会发现高频出现的都是具体题型压缩包伪加密、git泄露、jpg隐写、voip流量、命令执行、文件包含。这些是比赛里出镜率极高的题型也是必须掌握的拿分基础。这里我把它们逐个拆开讲透。3.1 开局工具族一套能打满全场的环境与常用软件动手做任何题之前先把环境装好。我推荐的组合是虚拟机里装一套Kali Linux日常刷题系统用Windows再配合一套跨平台工具包基本就能覆盖九成以上的场景。Kali里自带几百款安全工具省的你在入门阶段为装软件折腾半天。Windows系统上常用的工具我给你整理成了一张清单分类工具用途Web抓包Burp Suite拦截和修改HTTP请求Web题必备流量分析Wireshark抓包、协议分析、查看TCP/HTTP/DNS流量图像隐写StegSolve、zsteg查看图片通道、隐写信息提取文件分析010 Editor、binwalk十六进制查看、文件分离与识别压缩包爆破ARCHPR、fcrackzip压缩包密码爆破编码转换CyberChef、随波逐流各种编码解码、密文分析密码爆破hashcat、John the Ripper哈希破解、口令爆破数据提取strings、foremost从文件里提取关键字符串和隐藏文件关于工具的使用我给你一个特别重要但很多人不重视的建议装一个工具就花十分钟把它的界面和基础功能过一遍不要等做题时再临时查。做题时的专注力是最宝贵的你在考场上去查“Burp Suite怎么开代理”这种问题不仅浪费时间还会打断思路。3.2 六个必会题型逐个拆解从判定到拿Flag的完整过程先说压缩包伪加密。这类题的典型特征是你拿到一个ZIP压缩包双击打开发现里面的文件有加密标志需要密码才能解压。绝大多数新手第一反应是上爆破工具跑字典实际上很多题的密码根本不是爆破能跑出来的因为密码就是“123456”这种弱口令或者藏在题目描述里。真正的考点是伪加密ZIP文件里有一个叫“加密标志位”的字段它标记了文件是否加密。有些题目只是把标志位改成了加密状态实际上文件并没有真正加密。用010 Editor或者Hex Fiend打开这个ZIP文件定位到中央目录区的通用位标志字段把对应的比特位从奇数改成偶数通常是0x0009改成0x0000或者0x0001改成0x0000保存后重新解压你就能直接看到里面的文件了。判断是不是伪加密其实很容易如果爆破工具显示密码极其简单但又猜不到或者打开十六进制发现加密标志位周围有几个字节明显被人动过手脚基本都是伪加密。再说git泄露。这是一种Web题里非常经典的源码泄露漏洞。网站开发者在部署前没有清理项目目录把.git文件夹整个传上了服务器而.git目录里保存着整个仓库的历史记录。解题的第一步是探测访问目标网站下的/.git/目录如果能返回目录列表或文件内容就实锤了。然后可以用工具提取源码核心逻辑是让工具根据.git目录中的索引信息自动还原出项目文件。还原之后还要注意看git的提交历史因为开发者可能会在修改代码时不小心把flag写在某个版本的配置文件中然后又删掉了。用git log查看历史提交记录用git diff对比不同版本的差异flag往往就藏在某次“删除敏感信息”的提交里。这类题的教训是配置文件、备份文件、版本控制目录都是开发环境下不该出现在生产服务器上的东西。JPEG隐写题是Misc的老朋友。拿到一张图片第一件事是看它的文件头对不对然后用binwalk扫描这张图片里是不是藏了其他文件比如某张图片后面拼接了一个压缩包。接下来用StegSolve这类工具把图片逐通道分离查看RGB各颜色通道的低位值也就是所谓的LSB隐写。LSB的原理很简单人的眼睛对颜色的细微变化不敏感把一段信息字符转成二进制后逐位替换图片颜色分量里的最低有效位图片在肉眼看不出变化但二进制信息已经藏进去了。使用StegSolve翻页观察每个通道你会在某些通道看到明显不是噪点的规律图案把信息提取出来再转成ASCII码就是flag。这类题还经常配合zsteg或ExifTool使用ExifTool能直接查看图片的元信息有些出题人偷懒直接把flag写在了图片的拍摄时间和作者信息里。VoIP流量分析是流量分析题里比较特殊的考点。题干通常给你一个.pcap格式的抓包文件里面不是HTTP或TCP数据而是网络电话的通信流量。解题的关键是在Wireshark里找到VoIP相关的数据包。进入“电话”菜单选择“VoIP通话”Wireshark会把抓包文件里所有的通话列成一个表格还能直接播放通话录音。如果你看到通话列表里有活动通话点进去选择播放流就能听到一段音频flag往往就直接藏在录音的对话里或者需要你再把音频听一遍并根据内容推测某个单词。这类题前期容易卡在不知道从哪下手只用过滤表达式找HTTP完全找不到头绪体验过一次之后就会记住看到pcap文件先检查是不是有RTP或SIP流量。命令执行题目在Web里非常有代表意义。这类题会给你一个输入框或URL参数后台代码可能直接把你的输入拼接到系统命令行里去执行。题目的入口通常会带一些函数名比如system、exec、shell_exec、passthru这些PHP函数都能执行系统命令。解题时首先要确认注入点输入一个ipconfig或ifconfig看回显如果命令结果出现在页面上就说明命令注入成功。接下来棘手的地方在于过滤开发者通常会禁用空格、禁用特殊字符、禁用目录跳转符号。你要做的就是用各种编码和符号替换来绕过过滤比如用tab键替代空格、用${IFS}表示空格、用%0a表示换行绕过长度限制。命令执行题的核心思路就是你把自己想象成一个攻击者把开发者的过滤规则当作一道迷宫想办法利用语法特性绕过去。命令执行的另一个常见变种是把命令写入payload后用分号隔开比如输入“原本的指令;whoami”让两条命令同时执行。文件包含是另一个必考Web点。它利用的是网站动态加载文件时的路径可控漏洞。经典入口是URL里的一个参数它的值直接被当作文件路径去include了。拿flag的常规做法是先探测能不能读取本地系统文件尝试读取/etc/passwd或者Windows下的配置文件。但更关键的是利用伪协议来构造数据流比如php://filter可以把任意文件的内容经过编码后返回从而让你看到源码。比较进阶的玩法是利用日志文件注入如果网站拒绝执行你提交的PHP代码但你发现它把请求日志写入了access.log那你就可以把PHP代码伪装成User-Agent头提交过去再通过文件包含把日志文件当PHP执行从而实现远程代码执行。通过这些题目你能真切体会到安全和开发是紧密纠缠的一个看似无害的路径参数可能就是突破整个系统的钥匙。4. 从刷题到比赛靶场选择与个人动态靶场搭建当你完成基础训练准备系统刷题和模拟比赛时一个趁手的靶场平台就成了刚需。选对了平台效率翻倍选错了可能三天打鱼两天晒网。4.1 线上靶场怎么选主流平台实测对比目前主流的练习平台我挑了五个有代表性的说下特点方便你做选择。BUUCTF是国内CTF圈使用频率很高的在线刷题平台题库量巨大覆盖了几乎历年各大比赛的赛题适合第二阶段按知识点大量刷题。界面是中文的上手零障碍。攻防世界是由企业和高校联合运营的题集平台在圈内知名度极高题目质量和难度都比较稳定并且提供新手向的引导和Writeup适合零基础入门。它的劣势是题目很多是经典老题和当前比赛的潮流题风有一定距离。CTFShow是一个社区驱动型平台题库更新快风格贴近真实比赛很多活跃选手会在上面出题题目的趣味性和创新性都比较强。它的Misc题库尤其丰富如果你主攻Misc建议直接用这个。PolarCTF是社区驱动的线上比赛平台题目风格比较贴近现代比赛环境适合赛前模拟。它支持的比赛和专项训练比较多历届比赛的题目也会保留下来作为题库。青少年CTF平台比较特殊它的界面和题目难度对新人极其友好很多零基础的同学在它上面不会产生畏难情绪。如果你是完全零基础或者想带身边的朋友入门这个平台的梯度设计值得一试。平台不需要贪多选定一个主刷、一个备选就够了。我的建议是新人先用攻防世界或青少年CTF打底刷两百道左右再去BUUCTF刷更全的题库最后进CTFShow和PolarCTF参与线上月赛感受真实比赛氛围。平台选择的核心其实就一条题目的难度梯度是不是适合你当前的水平。全是大神题的平台让你怀疑人生全是送分题的平台让你原地踏步。平台适合阶段优势注意攻防世界入门初期引导完善、经典题多题风偏老BUUCTF专项突破期题库量巨大、涵盖历届赛题少量题环境不稳定CTFShow进阶提升期更新快、Misc题丰富难易波动大PolarCTF赛前模拟期比赛体验贴近实战新手直接上有压力青少年CTF零基础入门对新人极其友好题目相对基础4.2 自建动态靶场用CTFd复刻比赛环境练到一定程度你可能不只想刷题还想自己搭一套靶场。一方面是为了练习部署和维护另一方面很多CTF爱好者会自己出题然后分享给朋友或小圈子里的同学一起玩。自己搭靶场没有想象中复杂市面上常见的开源平台有CTFd、H1ve和GZCTF其中CTFd是最老牌也是最容易上手的之一轻量、插件生态成熟很多真实比赛都直接或间接使用它。自建平台的关键在于“动态Flag”这个机制。你肯定不希望自己出的题目被当成静态文件来回复制那样两个人做同一道题答案一样看谁的都不会发现猫腻。动态Flag的思路是这样每个选手启动题目环境时系统会从题库里读取模板把配置好的flag占位符替换成这个选手专属的flag最终生成一个独立的比赛实例。这样AB两位选手拿到的flag不同谁抄谁的后台一看便知。部署CTFd这类平台主流方案是用Docker因为直接拉镜像就能跑起来比手动安装数据库、配置Python环境简单太多。基础步骤并不复杂先把Docker和Docker Compose装好然后拉取CTFd项目的代码在项目根目录里执行容器的拉取和启动命令CTFd就会自动创建好依赖的MySQL数据库和Web服务。初次启动后你需要在浏览器里访问服务器IP的8000端口完成管理员的初始化设置包括站点名称、管理员账号密码然后再去平台后台创建题目、上传附件、配置flag。我搭过几次之后的一个心得是自建平台真正的门槛不在部署而在于题目容器化和网络隔离的设计。如果你只需要给朋友做几道静态题直接上传题目描述和附件就行CTFd开箱即用。但如果想让题目跑在独立的Docker容器里让每个选手连接一个自己的环境就需要引入CTFd的容器化插件把题目环境做成一个镜像并配置系统自动调度容器。这套配置我曾经折腾了一个周末最终跑通的那一刻成就感和做题是完全不一样的。不管用哪个平台做“靶场平台搭建”这件事本身其实就相当于做了一道大型综合实战题你既要懂Linux运维也要懂容器编排还要结合安全场景设计隔离方案。这些技能在未来的安全从业道路上都会成为你的隐性资产。5. 这些坑我替你踩过了常见问题与避坑指南最后这一部分我想说点大实话。这些内容通常不在教程里写但却是决定你能不能坚持下去的关键。5.1 环境配置与工具安装的排查清单环境问题是最消耗新人热情的东西。很多同学第一天装工具就崩溃了因为这里报个错那里少个依赖。我刚开始也这样那时Python环境下包、Kali虚拟机网络、Burp Suite的证书问题光是折腾环境就花掉了我两个周末。这里给你一份排查清单。做任何工具安装前第一个原则是“先确认系统环境再安装”。同样一个工具在Windows、macOS、Linux上的安装方式完全不同。你搜教程时如果发现对方用的系统和你不一样请果断换一篇文章跟着错误平台的教程配环境大概率越配越乱。Python环境问题优先学会用虚拟环境工具或者镜像加速。新手最常见的错误是直接往系统Python里胡乱装包装到后面依赖冲突又不知道如何清理。我的建议是新建项目时就初始化一个独立的虚拟环境每个项目各用一套环境互不干扰。如果下载速度太慢就检查是不是没配镜像源换了国内镜像源之后速度快的不是一点半点。Kali虚拟机装好后第一件事不是装工具而是跑一轮系统更新。换个系统镜像源再执行升级命令把内核和基础软件包更新到最新能规避掉大量“工具装不上”的问题。因为旧版本的系统仓库里很多软件包版本过低和现在工具需要的新依赖对不上。Burp Suite连不上浏览器的代理首先要检查代理端口是否一致默认一般是8080端口。如果浏览器能访问网页但Burp里看不到流量大概率是浏览器没有正确配置代理或者Burp的证书没有安装到系统信任区。抓HTTPS流量必须要装证书否则你看到的就是一堆乱码。这个步骤可以专门去翻配置文档不要凭感觉操作。我踩过最惨的一个坑是在Windows上双击运行Linux的脚本。拿到一个.sh脚本直接去执行报错之后才发现系统不同。记住一条铁律做题之前先确认平台系统的类别Windows用不了Linux的二进制命令Linux上也别直接跑带GUI界面的工具。盲目的跨平台操作只会让你在入门的路上多走许多弯路。5.2 学习心态与竞赛伦理的底线技术能力以外的坑往往更隐蔽也更致命。我见过太多人进度停滞问题根本不在于智商而在于心态和方法。第一个心态问题是“只搜Writeup不动手”。看题解就像看菜谱看一百遍也不如亲手炒一盘菜。你可以收藏大量的视频教程、题目解析、工具手册但如果不配上大量的亲手实践它们就只是一堆躺在收藏夹里的文字。我认识的所有高手没有一个不是靠成千上万道亲手做过的题喂养出来的。第二个问题是“贪多嚼不烂”。今天学Burp Suite的拦截还没用熟就开始学Hashcat爆破哈希刚摸了下Wireshark的界面又去折腾Mobile逆向。工具和方向一样最忌讳三心二意。我给你的建议是一周之内只练一个工具一个月之内只刷一个知识点的题。等这个知识点达到“能做出来不放倒的题”的水平再进入下一个。第三个问题也是我觉得最重要的底线问题CTF是建立在合法授权的前提下的。所有练习题目必须在靶场平台、赛事平台或你自建的授权环境内进行绝对不能把学到的手法用在实际运行的网站、系统或别人的设备上。练习Web渗透就只在靶场里打分析流量就只分析别人提供的抓包文件或自己的网络流量。不分青红皂白去扫描一个不认识的网站后果非常严重尤其是现代社会对网络和数据安全的保护日趋严格越界行为带来的风险是你无法承受的。真正的安全能力永远是能力越大、越懂得边界在哪里。比赛里同样有伦理底线。有些队伍会通过刺探其他队伍答案、共享flag、违规爆破平台接口等不正当手段获取成绩这类行为一旦被平台发现轻则取消成绩重则被全圈拉黑。CTF的魅力在于真实地解决问题而不是用欺骗去获得一个虚假的排名。拿到奖杯固然光荣但半夜复盘时的那种踏实感才是真正支撑你走远的东西。最后一次说点自己的体会写到这里我想起自己第一次在线上赛里解出Pwn题的那个凌晨。那道题卡了我整整三天第三天晚上我躺在床上突然想到一个思路翻身起床打开电脑在本地把漏洞利用脚本跑通的那一刻整个人兴奋得在房间里来回走了好几圈。我以前以为这种快感只存在于电影里直到自己亲手把不可能的题做成才明白为什么那么多人愿意在这个领域投入无数个日夜。CTF入门最难的不是那些复杂的知识体系而是你能不能耐住性子在看不到明显进步的初期持续投入。你要学的每一样技能最终都会变成你思维方式的一部分看到一个网站你会去想它的登录逻辑有没有漏洞拿到一个文件你会下意识去查看它的十六进制结构遇到一个加密字符串你会条件反射般去思考它属于哪一类编码。这种思维方式一旦建立起来无论是继续打比赛还是走向专业的网络安全岗位你都会比同龄人快一步。最后再分享一个小技巧准备一个专门的笔记本不管是电子还是纸质记录你每天做题时的“卡点”。卡在哪一步、因为什么知识缺口卡住的、最后是怎么解决的简单几行字就行。别小看这个习惯三个月后回看你会清晰地看到自己的成长轨迹。那些曾经让你崩溃的题目问答题读来就会心一笑原来当时只是没搞懂某个小小的知识点。CTF这条路很长但每一步都算数。希望这篇内容能帮你把脚下的路看得更清楚一点我们比赛场上见。