经常有刚入门的朋友跑来发我一句同样的话:“能不能直接给我甩个漏洞挖掘平台列表,我照着注册开干?”我一般会反问一句:你会在没摸过方向盘的情况下直接上高速吗?漏洞挖掘也是一样,平台只是路,能不能把车开稳,取决于你在此之前有没有把基本功练扎实。这几年陆陆续续带过不少新人,也见过太多人把时间浪费在“到处注册、到处乱翻、一个洞没挖到就灰心”的循环里。问题从来不出在平台少,而是缺一张按用途分好的地图。
这篇文章就把我这些年真正用得上、值得花时间的漏洞挖掘平台,按“练手、比赛、查资料、看暴露面、交漏洞、混圈子”六条线全部拆开讲一遍,每类平台的重点、坑、正确使用方式一起说明白。零基础可以先照着一二类动手,有基础的人可以直接跳到第五六类去实践,想系统规划的人看最后那条十二个月路线即可。
1. 先别急着挖漏洞,先把“平台地图”装进脑子
很多新人以为“漏洞挖掘平台”就是“交漏洞换钱”的地方,这个理解太窄了。真正的平台体系分为六类,每一类解决的是不同阶段的问题。
第一类是本地靶场和在线沙箱,解决的是“哪里可以合法练手”;第二类是CTF竞赛平台,解决的是“怎么被高手出题带着走完攻击链路”;第三类是漏洞数据库与情报站,解决的是“漏洞到底长什么样、为什么会产生”;第四类是资产测绘与暴露面查询平台,解决的是“在授权范围内看清攻击面”;第五类是众测平台与厂商SRC,解决的是“把能力换成真实认可和赏金”;第六类是社区与知识流,解决的是“怎么持续保持信息敏感度”。
这六类对应的是一个人从零基础到能独立挖掘漏洞的完整链条:先在可控环境把攻击原理摸透,再通过比赛验证知识迁移能力,然后去真实漏洞库积累“漏洞感”,最后只在授权明确的众测与SRC平台上做实战。任何一步跳过去,后面都会花更多时间补课。
1.1 这个领域里的“平台”到底指什么
我见过不少自学者的典型状态:浏览器收藏夹里存了几十个链接,从在线工具到论坛帖子都有,但真坐下来学习时,根本不知道点开哪个。原因就是没有按“我在哪个阶段、要解决什么问题”来分类。
打个比方,把漏洞挖掘当成学做饭。靶场是自家厨房,你可以放心大胆地把菜炒糊;CTF是厨艺比赛,别人给你准备食材和命题,你照着做能学到标准做法;漏洞库是菜谱和食材图鉴,帮你认识每种食材什么状态下会出问题;测绘平台是餐厅后厨的食材库存单,你得知道有哪些原料才谈得上检查变质;众测平台是正规餐厅的实习岗位,有明确规章和师傅验收。
所以这篇文章不准备按“知名程度”排行榜给你列平台,而是按“学习链路”排。排名靠前的平台不一定适合你当下的阶段,适合的才是有效的。
1.2 为什么新手总爱把第一站选错
最常见的错误是一上来就注册五六个众测平台和SRC,想着“边学边挖”。结果往往是花了一周看完平台规则和项目范围,发现很多漏洞类型见都没见过,报告格式也不会写,最后连提交入口都没点过。
另一个常见错误是把大量时间花在翻各种“漏洞利用代码合集”上,以为看多了就会挖。真实情况是,没有内功的人直接看漏洞利用代码,就像没学过解剖学的人看手术录像,看完只觉得血腥,啥也没学会。
正确顺序应该是先在靶场里把漏洞原理亲手触发一遍,再在CTF里被题目逼着走完“信息收集—漏洞确认—构造利用—拿flag”的完整链路,接着去漏洞库读几十篇高质量的漏洞分析,最后才谈得上在授权范围内进行真实挖掘尝试。下面每一类平台,我按这条链路逐个展开。
2. 本地靶场与在线沙箱:最低成本的反复试错区
本地靶场是在你自己电脑上跑起来的一套“故意留洞”的Web应用,它存在的唯一意义就是让你反复打、反复错、反复理解,不用担心后果。这是我认为所有零基础的人第一周就该搭起来的东西,没有之一。
选择靶场的标准有三个:部署足够简单、漏洞类型足够全、文档足够友好。太多人卡在第一步“环境搭不起来”就放弃了,所以一套能用Docker一键拉起的靶场,价值远大于功能复杂但部署困难的。
2.1 新手成功率最高的三套Web靶场
第一套是DVWA,它算得上是Web漏洞靶场里的入门必修课。内置SQL注入、跨站脚本、文件上传、命令注入等十来个经典漏洞类型,每种漏洞都分了低、中、高三个安全等级。低级几乎等于直接送分,适合理解原理;高级则接近真实环境里的防护逻辑,适合进阶。
第二套是WebGoat,它跟DVWA的定位不太一样,更像一门“手把手教学的互动课程”,每一课会先讲背景知识,再让你完成一个具体的漏洞利用目标。它的靶场路径更完整,缺点也是它的问题,初期用起来比DVWA稍微复杂一点,需要有一定耐心。
第三套是Juice Shop,这套靶场非常贴近现代Web应用的真实技术栈,里面几乎所有漏洞都模拟了当下互联网产品的业务逻辑。新手一开始会觉得它难,因为没有一个一个分类好的“关卡名单”,需要自己去探索。我通常建议新手在DVWA通关后再碰它,用来检验自己是否能独立发现漏洞。
除这三套之外,还有国内社区流传很广的Pikachu靶场,它的中文文档对英文不好的朋友极其友好,而且专门收录了很多国内业务场景下的漏洞变种,适合作为第四套补充。如果想练API安全,也有专门围绕接口漏洞设计的靶场,但那些一般放到提升阶段再碰。
2.2 跑通一个靶场要做的四件事
很多人装完靶场以后就对着页面发呆,不知道该干嘛。我把标准操作拆成四步,照着做就能跑通一轮完整学习。
第一步,先按漏洞类型过一遍DVWA的低等级关卡,顺序建议是:SQL注入、命令注入、文件上传、跨站脚本、文件包含。这个顺序是从简单到复杂、从服务端到客户端安排的,前三个理解起来相对直觉。
第二步,每过一关,用一次抓包工具看一遍请求和响应。我强烈建议从第一天就用抓包工具去观察数据,而不是只在页面输入框里试。用工具看流量,你会发现很多页面看不到的细节,比如隐藏参数、Cookie、请求头里的玄机,这些恰恰是真实漏洞挖掘最依赖的手感来源。
第三步,把每一关的“漏洞成因”用一句话写下来,比如“SQL注入是因为把用户输入直接拼进了查询语句,且没有做参数化处理”。写不出来就回头再看一遍,说明还没懂。
第四步,把安全等级调到中级甚至高级,再去尝试同样的漏洞点。中高级关卡会引入一些输入过滤或防护逻辑,你必须换一种绕过思路,这个过程才是真正长本事的地方。
2.3 本地靶场的几条实操心得
第一,环境能用Docker就用Docker,不要自己从零编译。很多靶场官方镜像一条命令就能跑起来,省下的时间全部用来打靶更划算。新手阶段的环境配置时间不应该超过半小时。
第二,别一上来就开扫描器扫靶场。我知道自动扫描很快,但新手如果连漏洞原理都没亲手触发过,直接看扫描报告等于看天书。我要求自己带的每个新人至少在DVWA里手动打完一半关卡。
第三,打靶一定要做笔记。这个笔记不需要文笔多好,重点是记录“我当时怎么想的、哪一步卡住了、怎么解决的”。我自己最痛苦的经历就是同一个靶场技术点隔了三个月再遇到,完全不记得当时怎么打通的了。
第四,靶场数据被自己搞乱了不用慌,重置容器通常就恢复原样。很多人怕把靶场玩坏,其实本地环境想怎么折腾都行,关键是手要敢动、脑要跟上。
3. CTF竞赛平台:让出题人带着你走完攻击链路
如果你已经能在靶场里独立打通DVWA的大部分关卡,下一个提升效率的站点就是CTF竞赛平台。CTF(Capture The Flag,夺旗赛)是安全圈里最常见的比赛形式,赛题由经验丰富的从业者出题,每一道题背后往往对应着一个真实漏洞的某种变形。对新手来说,做CTF题等于免费请了一群高手帮你设计学习路径,性价比极高。
我曾经形容过:自己漫无目的地逛靶场,像在没有教练的健身房里瞎练;参加CTF更像参加集训营,每天被不同部位的训练计划推着走。尤其是一个人的自学很容易陷入“舒适区循环”,只会做自己已经会的那类题,而CTF会逼你接触完全没有见过的新知识。
3.1 值得常逛的公开CTF平台
先说赛事日历,想了解全球范围内正在举办和即将举办的CTF赛事,应该常看CTFtime这类聚合站。它按时间线列出比赛,每场比赛还标注了难度和适不适合新手,非常实用。我建议零基础的人先别急着报名比赛,用一个月时间在上面找两三场“新手友好型”比赛的往年题目来练手。
再说题库类平台,常年开放的平台上积累了大量往年赛题和官方或社区写的解题报告,这是真正的大宝藏。国内用得比较多的包括攻防世界、BUUCTF,还有近两年热度很高的NSSCTF,上面按Web、逆向、密码学、杂项等方向分好了类,方便你直接按方向刷题。
还有一类配合教程的平台,例如国外知名的PortSwigger学院里提供Web安全方向的在线实验,它虽然是教学性质,但很多实验也采用了“给目标、给提示、让你找flag”的CTF式结构。新手在这类平台上一边读讲解一边做实验,比单独硬刷赛题舒服很多。
3.2 第一次参赛的正确姿势
很多新人第一次参加CTF比赛,看到四十八小时内要完成几十道题就慌了,最后只挑最简单的签到题做完就撤,收获甚微。我建议第一次参赛前先想清楚三件事。
第一件事,目标不是排名而是学东西。选一两个自己正在学的方向,比如Web方向,比赛开始后优先把所有Web题都打开看一遍,就算做不出来,也要读懂题目考的是什么知识点。
第二件事,赛前至少认真做完十道往届题目,并精读对应的三篇解题报告。我所说的精读,是读完之后能自己把攻击思路复现出来,而不是“哦原来是这样”。
第三件事,比赛结束后花一个晚上整理“错题本”。哪些题是明明学过但没做出来的,哪些是见都没见过的知识点,全部记下来。下一阶段的学习计划就从这个错题本里出。
3.3 别把CTF挖洞混为一谈
这是我最想对新人强调的一点。CTF题目是出题人精心设计过的,环境可控、有明确答案、通常只需要关注单一漏洞点;而真实漏洞挖掘面对的是复杂的业务逻辑、多年堆叠的老代码、各种防护设备,绝大部分时间都在做信息收集和分析,可能好几天才碰到一个有效漏洞点。
从CTF题目里获得的底层能力,比如对HTTP协议的理解、对常见漏洞原理的直觉、对数据流和代码逻辑的敏感度,是真实挖掘特别需要的。但如果一个人只会打CTF却连真实业务请求长什么样都没看过,那离“挖到有效漏洞”还是有明显距离的。
所以我的建议是把CTF当成训练场,而不是终点站。打完一定数量的题目后,一定要沿着第四部分讲的漏洞库去接触真实漏洞描述,再沿着第六部分讲的路子去授权众测平台尝试真实目标。
4. 漏洞数据库与情报枢纽:不只会搜,还要会读
靶场告诉你“这个洞长这样”,CTF告诉你“怎么一步步找到它”,但真正让你对漏洞建立“职业敏感”的,还是大量阅读真实的漏洞公告和分析文章。这个环节不能跳过,因为真实漏洞的模样、措辞、影响范围、修复方式,跟靶场和CTF里感受到的差异非常大。
很多新人不知道去哪里看漏洞信息,或者只会用搜索引擎随便搜关键词。实际上这个领域有非常成熟和公开的漏洞编号体系与信息枢纽,学会使用它们是专业能力和信息安全素养的一部分。
4.1 四个核心漏洞数据入口
第一个是全球统一的漏洞编号库,也就是CVE库。它给每一个公开漏洞分配唯一编号,格式是“年份-序号”,比如某个编号会对应一条具体的漏洞描述。与之配套的是美国国家漏洞数据库NVD,它在CVE编号基础上补充漏洞的技术细节、受影响版本和CVSS评分。
第二个是国内的国家级漏洞平台,比如CNVD和CNNVD,它们收录国内厂商产品和通用软件的漏洞信息,很多本土业务场景的漏洞在这里能看到详细分析,特别是对中文资料的收集比纯英文库更充分。
第三个是漏洞利用代码样本库,其中最著名的是Exploit-DB,它按照漏洞编号归档了大量公开的验证代码。从学习角度说,它是很好的“原理对照材料”,能看到某个漏洞在代码里到底长什么样。这里必须强调,这个网站的存在价值是安全研究、应急响应和防护学习,绝不是让人拿来直接攻击未授权系统的,使用边界这根弦必须绷紧。
第四个是各大厂商自己发布的安全公告页面。大厂的漏洞公告往往写得非常详细,包含漏洞产生的原因、影响版本、缓解措施和修复版本,是质量极高的学习材料。去追踪你日常使用频率高的产品安全公告,比漫无目的地刷信息流高效得多。
4.2 读一份漏洞报告的正确顺序
拿到一份漏洞编号后,很多人上来就跑去翻利用代码,这是本末倒置。我建议按下面五步走。
第一步,看描述。搞清楚漏洞出现在什么组件、什么功能位置,描述里通常已经写明了漏洞成因的线索。第二步,看受影响版本和固定版本。这一步非常关键,通过对比版本差异,你能感受到漏洞是在哪个版本被引入的,又在哪个版本被修复。第三步,看CVSS评分。评分的四个维度能让你直观理解为什么有些漏洞严重、有些不严重,这是建立漏洞危害判断能力的好方法。第四步,看参考链接。报告里引用的链接,一般会指向更深的技术分析博客、厂商公告或补丁详情,这才是真正的扩展阅读材料。第五步,最后再决定要不要看利用代码。只有在已经完全理解原理的情况下,看利用代码才有意义,它的作用只是验证你的理解,而不是替代理解。
4.3 挖掘提示:从补丁与版本变化里找灵感
长期读漏洞库还有一个隐藏红利:当你养成了“版本敏感度”,很多挖掘思路会自然浮现。有一个现象在安全圈里常被称为“补丁对比”,当某个厂商在某次更新中悄悄地修复了一个安全问题,通过对比补丁前后代码差异,你可以反推出漏洞在哪里、是怎样被触发的。
这个小技巧不适合零基础新手,但对已经有一定代码功底的人,它是进入真实漏洞挖掘实战的一条相对系统化的入口。很多公开的漏洞分析文章都提到过类似思路,我自己也在学习过程中受益于此。不过要做这类研究,必须有明确授权,并且严格局限在本地搭建的测试环境或厂商明确开放的测试范围内。
5. 身份不明先别碰:资产测绘与暴露面查询的两面性
这类平台在标题里最容易被误解,也最容易被滥用。资产测绘与暴露面查询平台,简单说就是能根据IP段、域名、端口、组件指纹等信息,检索出互联网上开放了哪些服务、运行着什么软件。它们本来的用途是帮助企业和安全人员梳理自己的网络资产、排查风险,但如果用在没有授权的外部系统上,性质就完全不同了。
我对所有新人的态度很明确:这类平台可以作为“理解互联网攻击面长什么样”的学习窗口,但绝对不能在未授权对象上乱搜、乱扫、乱连。这不是胆小,这是硬底线。
5.1 这些平台到底能做什么
国外的Shodan和Censys、国内主流的FOFA和Quake等,都属于这类平台。你可以把它们理解成“互联网服务的搜索引擎”,它们通过主动探测互联网上开放端口和服务,记录下域名、IP、开放端口、运行的服务与版本、响应特征等信息。
在合规场景下,它们能做的事非常多。企业安全团队可以用它定期巡检自有资产有没有暴露不必要的端口;应急响应人员可以借助它快速确认某个漏洞影响了本单位多少台机器;安全研究者可以在自己已授权的测试范围内,用它把资产清单整理得更完整。
但在网络空间里,很多系统之间并不存在“彼此认识”的关系,查询一个不属于自己、也没有授权的系统,本身就会带来法律风险。这跟“我在搜索引擎搜一下公司名字”是完全不同的概念,因为这类平台提供的是系统级别的技术信息,性质上更接近于对系统的探测。
5.2 安全使用的三条硬边界
我给自己和身边人定了三条铁律,你可以直接抄走。
铁律一,只查询自己名下或所在单位明确授权范围内的资产。域名、IP段、资产范围,最好有书面授权说明。口诀是“没有授权就当不知道这个系统的存在”。
铁律二,不把从测绘平台拿到的数据用于任何形式的对外展示或分享。哪怕只是好奇某个网段跑着什么服务,把结果截图发到群里、发到博客上,都极可能造成问题,即使是无意的也不行。
铁律三,学习阶段尽量使用靶场和实验环境来理解测绘与扫描的原理,不要拿真实互联网目标练手。很多靶场官网上提供专门用于练手的模拟目标,或者干脆设计了一整套包含资产测绘环节的实验环境,用那些资源就够了。
5.3 对学习者的替代方案
如果你只是想知道“扫描器到底在干什么”“端口和服务之间的关系是什么”,完全有更安全的学习路径。第一,在自己虚拟机里搭几台模拟服务器,设置不同的服务和端口,然后用开源的端口扫描工具去探测它们,整个过程都不离开自己的电脑。第二,去CTF的“网络杂项”方向找一些跟网络探测相关的题目,这些题目已经刻意做成了无害的沙箱环境。第三,把Burp Suite自带的靶场当成练习对象,它的设计初衷就是让你安全地进行各种探测和分析实验。
等到你真正进入众测和厂商SRC阶段,你会发现平台方已经帮你把授权范围圈好了,你只需要在圈内活动就行。这时候资产测绘类平台才作为辅助工具,在授权范围内帮助你更好地理解目标,而不是用来乱摸互联网。
6. 众测平台与厂商SRC:从练手走向真实赏金
这是很多新人最关心的部分,也确实是你把前面所有训练转化为真实成果的地方。众测平台和厂商SRC的运作逻辑是,厂商或平台方在自己的资产范围内公布安全测试项目,严格按照规则接受安全研究员提交漏洞,并支付相应奖励。这里的共同前提是:测试目标和测试边界由官方书面明确,程序员在进入前必须逐条阅读并同意相关规则。
这一步之所以要放在最后讲,就是因为它的门槛其实比大多数人想象的高。我们见过有人第一天就注册平台,结果三个月连报告都没写对;也见过认真练了半年靶场和CTF的人,注册后第一周就提交了一个有效漏洞。差别不在于天赋,而在于之前的基本功够不够扎实。
6.1 国内外公开众测与SRC入口
国际上最知名的综合众测平台有HackerOne和Bugcrowd,它们汇总了全球大量公司的授权测试项目,奖励通常以美元计价,规则文档比较完善,适合英文阅读能力不错、且能接受海外时区沟通的人。
国内常见的平台包括漏洞盒子、补天等,它们与很多国内企业合作,报告审核周期和奖励规则各有差异。除此之外,不少头部互联网公司都自建了安全应急响应中心,也就是常说的SRC。SRC是厂商自己运营的漏洞收集入口,规则通常比第三方平台更清晰,奖励形式也更多元。
还有一个特殊类别是教育行业和部分公共服务的漏洞报告渠道。这类平台专门接收针对特定范围内系统的漏洞报告,很多新人愿意从这里起步,因为资产范围和测试规则写得非常明白,对新手友好度高。但请注意,不同渠道的具体规则差异很大,一切以官方页面最新说明为准。
6.2 进场前必读的三份文件
很多人注册完平台,看到项目列表里一排排资产名字就直接上手测,这是最典型的翻车姿势。进场之前必须读完三份文件。
第一份是平台的测试规则。它规定了能不能用自动化工具、需不需要提前报备、哪些测试手法被禁止(比如拒绝服务攻击、存储型跨站脚本通常被禁止或限制)。第二份是具体项目的测试范围。范围里列出的域名、IP段才是能测的地方,范围外的一点都不能碰,哪怕它看起来就在隔壁。第三份是报告规范和奖励标准。它告诉你什么样的漏洞报告算合格,不同危害等级的漏洞分别值多少钱,审核要多久。
读完之后还有一个动作容易被忽略:去平台公告和讨论区看最近的动向。有些项目会临时调整范围,有些资产已经被人测出过通杀漏洞、暂时不接受重复提交,这些信息往往只在公告区出现。如果不看,你花几天测出的漏洞很可能因为规则调整而没有实际效果。
6.3 第一份漏洞报告的写法模板
报告写得清不清楚,直接影响审核速度和漏洞能不能被认可。我自己第一次交报告时也犯过蠢,把重点放在“我试了什么”而不是“漏洞是什么、为什么是漏洞、如何验证”。后来我总结出一套适合自己的模板,分享给你参考。
报告标题尽量一句话说清:在什么位置的什么功能里,存在什么类型的漏洞。正文至少包含四块:第一块是漏洞描述,用两三句话说明这个漏洞属于什么类型、可能产生什么影响;第二块是复现步骤,用有序列表从访问入口开始一步步写,每一步要写清楚在哪个页面、输入了什么、观察到了什么;第三块是影响证明,最好附上能证明漏洞存在的截图或少量请求记录,注意只保留必要信息,不要拖太大附件;第四块是修复建议,简单说明你的思路,比如建议对输入做参数化处理、加白名单校验等,不确定的话可以写“建议参考XX类型的通用修复方案”。
提交前自己检查一遍:步骤能不能照着重做出来、有没有包含无关信息、有没有超出授权范围去测试。这些检查比报告写得花哨重要得多。
如果你第一份报告因为重复或信息不足没有通过,不要灰心。我接触过的大多数有效漏洞开发者,在前几次提交里都有被驳回的经历。真正拉开差距的是持续复盘和不断迭代报告质量,而不是一次成功。
7. 社区与知识流:决定你天花板的信息源
平台和方法都是“术”,决定你在这个领域能走多远的往往是“信息流”的宽度和纯度。安全圈的玩法和技术栈更新速度很快,我见过基本功很扎实的人,因为长期只闷头刷实验,一年之后思路明显跟不上圈内主流节奏;也见过技术底子一般但信息流非常好的人,总能提前知道新技术、新漏洞方向,然后快速补齐知识动手实践。
所以社区和知识源不是“锦上添花”,而是学习链路里不可缺的一环。这里聊的社区不是用来闲聊吹水的群,而是能持续产生高质量技术输出的地方。
7.1 值得长期关注的技术社区
中文圈子里,老牌的看雪论坛偏底层和逆向方向,积累了二十多年的技术沉淀,适合对二进制安全和系统底层感兴趣的人长期逛;先知社区汇聚了很多高质量的攻击与防御分析文章,不少文章直接对标真实漏洞场景,可读性和实践性都不错;安全客属于资讯聚合型站点,适合每天花十分钟快速扫一遍行业动态和漏洞简报。
英文圈子里,PortSwigger的安全研究博客兼具教学和技术深度,很多Web安全新思路都在上面首发;各大开源软件和操作系统的官方安全公告与安全博客也是极高质量的信息源,因为它们讲的是自己产品里真实出现过的问题,细节完整、可信度高。
还有一个被低估的资源是GitHub上各类安全相关项目。比如著名Web应用的已知漏洞练习环境、爬虫抓取漏洞利用代码样本的归档仓库、各家SRC漏洞公告的镜像项目等。关注它们能直接看到最新代码层面的变化,比二手转述准确得多。
7.2 一套能减少噪音的信息消费方法
信息源一多就容易变成信息成瘾:每天刷一两个小时,感觉知道了很多,实际一个知识点都没消化。我给自己定的规则很简单,可以供你参考。
第一,区分“新闻流”和“学习流”。新闻流看标题就够了,每天最多十分钟,用它保持行业敏感度;学习流必须精读,也就是把一篇高质量漏洞分析完整读完、做笔记、能复述核心原理,每周两到三篇就足够了。第二,看到一个感兴趣的新技术名词,不要急着收藏,当场花二十分钟搜三篇相关的权威资料,形成最基础的认知,这比收藏一百篇没读过的东西有用得多。第三,靠输出倒逼输入。我认识很多进步飞快的新人,共同点都是坚持写技术博客或至少认真整理读书笔记,因为写的过程会逼你把模糊的理解变成清晰的表达。
长期保持两三个精读源、四五个速读源就够了,贪多嚼不烂,这是我最想强调的一点。
8. 零基础到精通的十二个月路线图
前面六类平台和工作方法都讲完了,最后把它们串成一份可以直接照着走的时间表。我设计这份路线图的依据是:每个阶段都设置一个明确的可验收目标,而不是模糊的“学一个月基础”。你的进度可以比它快或慢,但每一阶段的验收标准最好不要跳过。
8.1 阶段一:环境与基本功(第1-4周)
第一个月只做三件事:搭好虚拟机与Docker环境;用Docker部署DVWA和Pikachu两套靶场;按第二部分的方法手动打完DVWA低等级全部关卡。只要做到“不看攻略,能独立触发一个SQL注入并说明原理”就算合格。
同时每天用十五分钟浏览一次行业资讯,开始泛读漏洞描述,不要求看懂,只需要对高频漏洞名词产生熟悉感。这时候不建议注册任何众测平台,因为基本功撑不起实战要求,只会徒增挫败。
8.2 阶段二:系统化知识+CTF实战(第2-6月)
第二到第六个月进入系统提升期。知识学习方面,建议系统学一遍Web安全核心内容,包括HTTP协议细节、前后端交互、常见Web漏洞的原理与修复方法、身份认证与会话管理机制。不用啃大部头教材,以靶场实验和权威技术文档为主。
CTF实践方面,从题库类平台每天刷一道Web题开始,刷满五十道之后再看解题报告,把不会的知识点全部整理进错题本。第六个月结束时,你应该能在一场新手友好型的公开CTF里独立做出至少三道Web题,并完整看懂一篇真实漏洞的分析文章。
8.3 阶段三:授权环境中完成第一次发现(第7-12月)
第七个月开始,可以注册一两个国内第三方众测平台或厂商SRC,先熟读平台规则和至少五个项目范围。前两个月不要急着测,主要做两件事:一是把目标项目的资产范围和技术栈整理成自己的笔记;二是持续阅读该项目范围内以往有效漏洞的报告,学习报告写法。
第九到第十个月开始尝试测试低风险的逻辑类漏洞,比如越权访问、验证码绕过感知类问题。目标不是出高危,而是完整走一遍“阅读规则—授权测试—发现疑点—验证危害—撰写报告—提交审核”的流程。只要完成一次有效提交,哪怕只是低危,这个阶段就算毕业了。
到第十二个月,你应该形成自己的学习与测试节奏,并且有了明确的深耕方向,大部分人会在Web安全或二进制安全里选一个。这时候你已经是一个能独立在授权范围内开展工作的入门级安全研究人员了,接下来就是朝着专业方向持续累积经验。
8.4 贯穿全程的“留痕”习惯
最后说一个贯穿十二个月的通用习惯:把每一次实验、每一次刷题、每一次报告审核反馈都记录下来,建立自己的知识库。工具随意,Markdown文件、笔记软件、甚至纸质本都行,关键是形成“输入—实践—复盘—留档”的闭环。
坦白讲,我在这个领域见过的最大的差别,不是谁天赋更高,而是谁更早开始记录和复盘。同样打一年的靶场和CTF,做笔记的人积攒下来的是可检索、可复用的知识资产;不做笔记的人第二年往往还在补第一年就踩过的坑。
最后再分享一点个人体会。经常有人问我:“有没有一个平台,用了我就能变成漏洞挖掘高手?”我的答案一直没变:没有。平台只是放大你能力的地方,它放大的方向完全取决于你带进去多少基本功。把上面这些平台对应的位置搞清楚,把这十二个月的路线扎扎实实走一遍,一年后再回头看,你大概率会感谢那个没有急着到处注册账号、而是先静下心搭好靶场写完笔记的自己。如果你愿意,也可以把这篇文章收藏成自己的起点,然后从部署一套DVWA环境开始,迈出第一步。