☰
从CTF到SRC漏洞挖掘:新手入门实战指南
2026/10/14 3:59:25 网站建设 项目流程

学安全这么久,发现一个挺有意思的现象:身边不少人CTF打得风生水起,真到要挖SRC平台漏洞的时候,反而不知道怎么下手。要么盯着一个厂商的官网傻看半天找不到入口,要么好不容易挖到一个自以为很牛的洞,提交上去被平台原封不动打回来,连个感谢都没混到。更别说靠漏洞变现赚钱这条路了,很多人一开始压根就不知道SRC到底是个什么东西。

这篇东西主要是写给准备入门SRC漏洞挖掘的人看的。我会把从零开始需要准备的东西、不同漏洞方向的挖掘思路、报告怎么写才能让厂商认账、以及各种变现渠道的实际情况全部分享出来。如果你以后想要靠挖洞赚点零花钱,或者想往安全研究的方向深入发展,这篇内容可以帮你少走不少弯路。当然,我也会聊一聊现在市面上那些SRC课程到底值不值得买,避免大家白白交了智商税。

1. 学完CTF不代表能挖SRC:两个世界的差异在哪

先把这个扎心的现实说清楚。很多CTF选手在比赛里能轻松解掉Web题,各种奇怪的利用手法玩得飞起,但转到SRC平台后就傻了。这中间的差距不是技术栈的问题,而是整个思维方式根本就不是一回事。

1.1 CTF的“命题作文”与SRC的“开放世界”

CTF比赛里的Web题目,本质上是一个被设计好的封闭环境。题目作者在你面前摆了一台服务器,上面跑着一个有明确漏洞的应用,你要做的就是在最短时间内找到那个预留的漏洞点,然后利用它拿到flag。这意味着所有信息都是“够用”的——代码审计的时候不会给你一堆无关文件干扰,漏洞的路径也大都是登录后台、上传点、命令执行这些标准考点。

但SRC漏洞挖掘完全不是这样。你面对的是一个真实运行的商业系统,背后有完整的代码逻辑、复杂的权限体系、数不清的功能模块。最要命的是,几乎所有功能都已经被开发团队和之前的漏洞报告者翻来覆去测过好几轮了,你有没有一种在沙漠里找水源的感觉?常规的SQL注入、文件上传这些漏洞在主流大厂基本被堵得非常死,你要做的是在不可能里找可能。这就像一个是标准题库里的选择题,一个是开放世界里让你自己发现隐藏任务,难度完全不在一个维度。

1.2 从“解出题目”到“证明危害”

更核心的区别在于对“漏洞价值”的判断标准。CTF里你拿到flag就算得分,整个过程不需要跟任何人解释你的利用链。但SRC平台里,厂商关心的是你提交的漏洞能不能造成真实危害——能不能越权看到别人的数据,能不能绕过支付逻辑少付钱,能不能从普通用户打到管理员权限。

我见过很多新手在CTF里是高手,但在SRC上连续提交十几个报告全被打回,原因就是那些所谓漏洞在厂商眼里根本不算漏洞。比如你找到一个反射型XSS,但目标页面本来就能自定义输入内容,没有任何敏感操作,那厂商大概率回复你“暂无风险”。又比如你发现后台登录接口没有做验证码限制,是可以爆破,但后台本来就有IP封禁策略,厂商也会认为风险可控不予确认。

所以,想从CTF转型到SRC,第一步要做的不是学更多技巧,而是把你的整个评估体系换掉。你挖到的每一个问题都要问自己三个问题:攻击者能不能利用它获得实际利益?利用这个漏洞有没有前置的高门槛条件?如果我是厂商,我会不会花钱修这个东西?想清楚这三个问题,你提交的报告质量就能超过九成的新手。

1.3 信息广度远比技能深度重要

还有一个比较容易被忽略的点:CTF比赛比的是解题速度,技能点越专越占优势。但SRC挖掘中,信息收集能力和资产发现能力反而比漏洞利用技术更加重要。因为实际目标的资产非常庞大——主域名、子域名、第三方接口、旧版本系统、管理后台,甚至开发测试环境全都暴露在互联网上。如果只盯着主站死磕,那是事倍功半。很多真正的高价值漏洞都藏在边缘资产上,那些系统往往疏于防护,跑的是老框架,用的还是默认口令。

所以我经常跟想入门的人说,与其花三个月死磕一个最新版本的RCE利用,不如先把ASN资产测绘、子域名枚举、JS文件内容提取这些基本功练扎实。不同的系统使用相同的代码框架,同一个公司常常复用一套底层的权限校验逻辑,找到一个系统的弱点,往往意味着整个公司一堆系统都有相似问题。这个搞法,就是能四两拨千斤的地方。

2. 新手SRC挖洞的完整起步路径:从环境到第一桶金

如果你已经决定要入坑SRC,想尽快看到成绩,那就别再东看一个教程西看一个视频了,我直接说一套可以照做的路径。这条路我自己走过,也带过不少朋友走过,只要别跳过中间任何一步,基本都能在两周内拿到第一个确认的漏洞。

2.1 先搭好训练靶场,别急着打真站

上来直接打真站的后果通常有两个:要么被厂商的WAF拦得怀疑人生,要么不小心触碰到未授权访问的界限,被对方法务盯上。无论哪一个,体验都很差。所以第一步是先在自己电脑上搭一个靶场环境。

我个人推荐组合是:PHPStudy或Docker作为底座,再装上一个包含常见漏洞的应用。你可以自己部署一个存在漏洞的Web应用来练手,也可以去网上下载开源漏洞靶场镜像。里面故意留下了命令执行、SQL注入、文件上传等经典漏洞点,适合新手在完全合法的环境里找感觉。重点是搞清楚这些漏洞在真实代码里长什么样,不要依赖扫描器,要尝试只看返回的HTTP响应包和页面源码就能推断出后台逻辑。

如果你想练逻辑漏洞,还有一种更贴近SRC的方式:去本地装一套开源商城系统或者开源论坛系统,自己注册两个账号,模拟多用户之间的越权操作。比如A账号能修改B账号的个人资料吗?在删除订单操作时如果修改订单ID会发生什么?这种练习做得越多,后面打真站就越有手感。

2.2 选一个合适的SRC平台注册开测

靶场练得差不多了,就可以注册一些公开的漏洞报告平台。这里需要提醒一句:每个平台的具体规则不一样,注册后一定先花半小时把它的收录范围、测试规范、奖励标准都读一遍。

我以主流漏洞平台的情况给你列个表格参考一下:

平台类型典型特点适合人群需要注意的点
大型企业自有SRC资产规范、收录标准清晰、奖金较高稍有经验者测试范围限定严,违规可能被追溯
综合漏洞报告平台入驻厂商多,入门门槛低纯新手单个漏洞奖金普遍偏低,排期确认慢
众测项目项目制,期限明确、目标具体有一定产出能力的人竞争激烈,需要抢单,审核严格
开源项目赏金计划针对特定软件库、框架代码审计型选手弹性大,但需要较强代码能力

对纯新手,我的建议是先注册某综合平台的账号,从那些入驻厂商中挑一个资产面广但防护相对普通的厂商开始。不要追那些巨头,它们的企业SRC高手云集,很多简单漏洞早就被筛过无数遍了。找那种上了平台但明显维护不频繁的小厂商,它们连子域名梳理都没做好,你比较容易从边缘资产找到突破口。

2.3 瞄准最容易出成果的漏洞类别下手

很多人一上来就想挖RCE、SQL注入这种高危漏洞,其实在现在的网络环境下,挖到这些的概率并不高。对新手来说,我更建议从这三类入手:

第一类是越权漏洞(IDOR)。这类漏洞危害高、确认率高,而且利用难度低。简单说,就是你登录一个低权限账号后,通过修改请求里的对象ID、编号等字段,尝试访问或操作其他用户的数据。厂商对这类问题非常敏感,一旦确认基本能定中高危。很多新手第一桶金就是从这里来的。

第二类是信息泄露。比如GitHub上泄露了内部代码或密钥、JS文件中包含了未授权接口、备份文件可以直接下载、接口返回了多余的敏感字段。这类漏洞虽然单价不高,但发现成本很低,而且可以用来串联其他漏洞。

第三类是逻辑漏洞。比如支付流程里修改金额、优惠券重复使用、密码重置流程绕过、验证码不失效。这类漏洞非常考验对业务的理解,一旦挖到就是严重问题,单价相当可观。

2.4 第一份报告的完整闭环样例

为了让新手知道整个流程长什么样,我拿一个越权漏洞举例给你捋一遍完整过程:

假设目标厂商有个查询订单详情的接口,参数是订单号。你先注册一个普通账号A,正常下单后拿到了自己的订单号。然后你尝试把订单号改成另一个数字,或者换成另一个账号生成的订单号,如果接口直接返回了那单订单的收货地址、手机号、支付信息,那就说明接口缺少归属校验。

接下来你要做的是完整的复现验证:用账号A登录,抓包,改参数,看能否读取账号B的数据;再用账号B登录被读取的账号,反向确认数据真实性。确认后截图保存,然后写报告提交。整个过程十分钟就能完成,但确认下来的漏洞通常能拿到几百到几千的奖金。

不过有一点必须反复强调:所有测试操作必须限定在平台明确授权的范围内,绝不能把别人真实业务数据拖出来到处传播。挖到数据看一眼确认存在漏洞就够了,千万不要再往深处渗透。这既是安全从业者的职业道德,也是保护自己的红线。

3. 最容易出成果的漏洞方向与实战挖掘思路

讲过入门路径,这一节把几个适合新手的漏洞方向展开细讲。很多人问我“到底该主攻哪个方向”,我的回答是:先广后专。前期每个方向都试一遍,找到自己最有手感的那一两个,再往深里钻。

3.1 信息收集决定了一半的成败

我在前面已经提过信息收集的重要性,这里再往细了说。一个完整的信息收集流程包括但不限于:通过证书透明日志查子域名、用DNS历史记录查解析变更、在代码托管平台搜目标厂商的敏感词、扫描目标网段的存活主机与开放端口、提取目标网站JS文件里的接口路径与硬编码密钥。这些操作不要全依赖自动化工具,很多隐藏资产恰恰藏在搜索引擎的搜不到的地方。

信息收集做完之后,你会得到一张相当庞大的攻击面清单。接下来要做的就是给这些资产做分级:哪些是核心业务系统、哪些是老旧的边缘系统、哪些是测试环境、哪些是第三方外包开发的站点。核心业务系统防护好但漏洞价值高,边缘系统防护差但漏洞价值低一些。对新手的实战建议是先从边缘系统的漏洞练手,等报告质量稳定了再逐步往核心打。

3.2 IDOR越权漏洞的完整利用链与边界

IDOR漏洞在挖洞圈里被称为“新手快乐洞”,原因就是它不需要多高深的技术,只需要耐心和细心。它的本质是后端在对象权限校验时依赖了前端传参的ID,却没有校验该ID是否属于当前会话用户。比如一个接口从请求参数里读了一个数字型ID直接查数据库,没有额外判断这个ID对应的记录跟当前登录用户有没有关系,漏洞就出现了。

挖这类漏洞有两个关键技巧。一是不要只尝试改某个数字加一减一,要把参数的类型边界也试一遍,比如字符串型的用户标识、数组形式的批量ID、不同对象间的ID互换。二是注意那些不起眼的接口,像是导出报表、下载附件、修改个人资料,这些功能点往往最容易省略权限校验。这类漏洞真正的价值要做到什么程度?聪明的人不会止步于“能读到别人信息”,而是会进一步看能不能把信息读取升级为信息修改、对象删除等更严重的操作。

3.3 逻辑漏洞:摸清业务的游戏规则

逻辑漏洞的挖掘,本质上是站在开发者的角度反推业务设计时有哪些想当然的地方。开发在写代码时默认了某个前提——比如“用户发起退款请求后,订单状态变为售后中,用户就不会再发起支付回调了”“用户修改邮箱后,原来的登录态就会失效”。但真实世界里恶意用户可以完全不按套路出牌,于是这些默认前提就全部变成了漏洞。

给你举个例子。某个平台做拼团活动,每个用户限购一份折扣商品。正常逻辑是用户下单一个商品后,后端通过手机号或身份证号判断是否已购买。但如果你把同一个收货地址拆成多个账号来下单,而平台只校验账号维度,那限购就形同虚设了。再比如优惠券领取,有些平台只在领取时校验了用户是否已领过,但如果你在领取瞬间并发发送多个请求,后端没有做密集请求控制,就能重复领取多张。

这类漏洞的挖掘高度依赖你对业务形态的理解。所以挖逻辑漏洞前,我建议先把目标平台的用户端、商家端、管理端整个流程走一遍,画出业务时序图。哪里出现了一次请求能触发多个动作的地方、哪里有状态流转的盲区,优先级就明显了。找到之后不要只报一个最低影响的问题,要尽量把利用链拉完整,能影响多少用户、造成什么直接经济损失,全都写清楚。

3.4 从信息泄露到权限提升的串联思路

真正的高手从来不满足于单个漏洞的危害等级,他们会把几个看似无伤大雅的小问题串联成一条高危害利用链。信息泄露加越权往往能提升到账号接管级别;测试环境弱口令加未授权接口通常能拿到内网权限。这种串联思路靠的是对目标系统架构的理解,以及对漏洞价值组合的敏感度。

新手可以先从两条最经典的串联链练起:一条是“JS文件泄露内部API路径+接口未授权访问”,另一条是“代码托管平台敏感信息泄露+复用密钥尝试登录内网系统”。这两条链不需要写任何攻击代码,纯靠细心和逻辑就能打通。特别是第二条,很多人觉得在代码托管平台上搜关键词太简单了,但就是这种简单的方法,每年都能拿到不少严重级别的漏洞。

4. 一份让厂商愿意打钱的漏洞报告该怎么写

很多新手实战能力没问题,漏洞确实挖到了,但报告写得稀烂,最终不是被打回中低危,就是直接被忽略。我甚至见过有人把漏洞利用过程只写一句话、截图还是模糊不清的,这种报告就算漏洞是真的,厂商也会判无效。在SRC体系里,报告质量直接决定了你的漏洞值多少钱,这比很多人想象的重要得多。

4.1 标题就定生死:一句话说清核心问题

报告标题千万别写“发现一个漏洞”或者“某接口存在安全问题”这种废话。好的标题格式是“漏洞类型 + 目标模块 + 严重影响”三要素齐全。举个例子:“某平台订单查询接口存在水平越权漏洞,可越权查看任意用户收货地址与手机号”。这个标题里漏洞类型清楚(水平越权)、目标模块清楚(订单查询接口)、影响清楚(可查看任意用户隐私信息)。厂商的审核人员在邮件列表里扫一眼这个标题,就知道该往哪个方向验证了。

要提醒的是,标题里不要过度夸大危害。明明是个反射型XSS非要往“可窃取任意用户账号”的方向吹,审核人员验证后觉得你言过其实,对你的整体信任度都会打折。宁可写得保守一点,等厂商确认后再在补充说明里讲清潜在升级路径。

4.2 按这个结构写,审核员看着不心累

一份标准的高质量漏洞报告,建议按下面的目录来组织:

  • 漏洞概述:一句话说明问题是什么、出在哪个模块、影响哪些用户
  • 复现步骤:按数字编号,一步步写清楚如何复现,包括请求方式、完整URL、Payload
  • 触发请求与响应:把关键的HTTP请求和响应包原文贴出来,去掉无意义的头字段
  • 漏洞影响分析:讲清楚攻击者可以利用它做什么、达到什么危害等级。这部分要客观分析,不要凭空夸大
  • 修复建议:给出两到三条可行方案,从快速止血到彻底修复都要覆盖

复现步骤是最核心的部分。新手经常犯的错误是:自己测试的时候乱点了好几个功能才触发了漏洞,然后报告里把这一大堆无关操作全部写上。这会导致审核人员按你的报告操作时根本复现不出来。正确做法是先重新把触发路径压缩到最少步骤,从头到尾只操作必要的环节,每一步都配全截图或者录屏。实在无法压缩多步操作的,务必在截图里把鼠标位置和点击目标标注清楚。

4.3 截图和请求包:别嫌多,这是证据链

厂商审核人员一天要看几十份报告,他不可能像你一样去慢慢摸索目标系统。你的责任就是把他可能需要的一切证据都直接摆在他面前。所以我建议每个关键步骤至少配两张图:一张操作结果图、一张对应的HTTP流量截图。如果涉及多处返回数据对比,例如越权读取A用户订单和B用户订单的差异,也要把两张响应内容放一起对比。

写请求包的时候有一点要特别注意:千万不要把Cookie里的敏感字段、个人身份数据完整贴出来。打码不是你随便涂黑就行,要确保Attribute值里没有可以重新识别身份的信息。在乱码中间留下一小串标识符,其实也无伤大雅,审核人员更关注的是Payload和请求逻辑,而不是你的登录凭证。

4.4 厂商说“忽略了”,别急着发牢骚

报告提交后,最常见的结果是被厂商标记为“忽略”或“不受影响”。很多新手心态直接炸裂,觉得厂商审核人员不专业。但我劝你冷静下来,把“忽略”当成一次免费的厂商视角教学。如果厂商给了具体不接受的理由,你就对照理由分析自己哪个环节没考虑到;如果厂商只回“无风险”没给理由,你可以礼貌回复问一句“能否提供具体验证或判断依据”。但切记,不要去跟厂商杠,更不要为了证明漏洞真实性去反复轰炸同一家企业。在SRC圈子,口碑非常重要,一次违规或态度恶劣的记录,之后在这家厂商及关联平台都不会太好过。

5. 变现渠道梳理:除了平台奖金还有什么路子

很多人对SRC变现的想象是“挖到一个严重漏洞赚几万块”。这个场景确实存在,但比例很低。真实的SRC变现结构更像一个金字塔:塔尖是极少数高危漏洞的高额奖金,塔基则是大量中低危漏洞的常规收益。这一节把主流的变现路子都盘一盘,你按自己的实力对号入座就行。

5.1 平台漏洞奖金:稳定但别指望暴富

先说最直接的路子:综合漏洞报告平台和厂商自有SRC的漏洞奖励。国内多数平台单个漏洞的奖励范围大致如下表:

漏洞等级单一漏洞参考奖励范围备注
严重数千到数万通常要求能直接控制服务器或核心业务数据
高危一到数千影响大量用户或核心业务逻辑
中危几百到一千需要一定利用条件,或影响范围有限
低危几十到几百信息泄露、轻微逻辑异常等

对一个每周能稳定产出三到五个有效漏洞的人,月收入做到大几千是可行的;要做到稳定月入数万,就需要持续的运气和极强的资产发现能力。但如果你把SRC当成主业来看,波动是很大的,有的人一个月爆出多个严重漏洞,有的人连续两三个月颗粒无收,这都很正常。心态上不要指望它养老,把它当成一种技能磨练加额外收入会更合适。

5.2 众测项目:限时PK,多做多拿

众测项目是比公开SRC更紧锣密鼓的一种变现方式。厂商在限定时间内开放一批指定资产,让所有参与者在期限内测试,最终根据漏洞数量和等级结算奖励。这种模式下,目标资产列表相对明确,比自己去全网狩猎轻松一些,但竞争也更激烈。高手扎堆时,同一个漏洞可能被多人同时发现,平台通常只给最先提交的人奖励,所以拼的是手速和覆盖效率。

众测我的建议是:先拿三五个公开SRC项目练出稳定产出能力,再报名众测。众测里因为限时,你的漏洞挖掘要更有优先级意识,起步先把信息泄露、低危问题全部收集一遍,因为这些虽然是低危,但量大也是稳定收益;然后在剩余时间里集中啃中高危点。

5.3 代码托管平台漏洞悬赏:容易被忽略的富矿

除了商业平台,很多开源项目本身也有漏洞悬赏计划。你如果擅长代码审计,不妨挑选知名开源库、Web框架进行源码级别的审计。这类漏洞一旦确认,如果会被广泛使用,能带来的不只是奖金,还有行业认可度。当然,这条路的学习曲线比直接挖黑盒要陡峭不少,适合有点代码功底之后再上。

5.4 安全社区与团队:技术影响力带来的长期收益

还有一类变现是隐秘但长期的:在安全社区持续输出高质量漏洞分析、工具开发、实战技巧,逐渐积累个人技术品牌。当你的名字在SRC厂商的安全团队里有了辨识度之后,内推、高额众测邀请、企业SDL安全顾问邀请都会慢慢找上门。这条路短期没有直接现金流,但长期收益上限远高于单纯挖洞。这也是为什么我一直建议新手哪怕奖金不高,也要坚持把报告写得专业、把复现过程分析清楚——这些沉淀都会在未来变成你的技术资产。

6. 这类SRC课程到底值不值得买:评价一个课程的真实观察角度

标题里既然提到了课程评价,我还是想花一整节聊一聊。现在市面上SRC实战课程多如牛毛,从几十块的录播课到上万的训练营都有。很多新手容易被宣传文案冲昏头脑,觉得买了课程就能走上人生巅峰。我的观点是:课程有它的价值,但你得学会挑。

6.1 先判断这个课程是“题库”还是“方法论”

大部分课程属于“题库型”:讲师把几个自己挖过的漏洞案例拿出来走一遍流程,你看完觉得挺热闹,但真正上场后还是不知道怎么对陌生目标下手。因为案例是固定的、已知的,而真实目标是千变万化的。

反观有价值的“方法论型”课程,会教给你一套可以迁移的思考框架。比如拿到一个新目标后如何快速梳理攻击面、哪些测试顺序能最大化产出、如何判断一个异常响应是否值得深入构造利用链。课程如果只教你具体漏洞怎么打,不教你为什么选择这个测试点、怎么从市场信息反推可能存在的问题,那价值就很有限。

6.2 看真实学员的产出,别只看讲师战绩

宣传页面上讲师的各种战绩、历史漏洞列表当然重要,但那只能证明讲师自己厉害,不代表他能把你教会。更靠谱的判断方法是看这门课历届学员的真实产出情况——有没有学员在课程期间或结课后一两个月内拿到了有效漏洞、拿了多少。如果课程方连一个像样的学员案例都拿不出来,那大概率是把讲师个人经历反复包装出来的。

有条件的话,直接去社区私聊几个上过课的学员,问问课程答疑是否及时、作业批改是否细致、讲师的思路是否跟得上当前漏洞趋势。这比看一百页宣传文案都有用。

6.3 课程费用与回报周期的真实测算

我们再算一笔实际账。一门SRC入门课程如果卖几千块,而它真的能把你从零带到能稳定产出中低危漏洞的水平,那么按每周两三个有效漏洞、每漏洞一两百块的回报来算,回本周期大约是一个月到三个月。如果能带出高危漏洞挖法,回本更快。但如果你买的是个大几千的“全栈安全大师班”,每天看视频两小时、连续三个月才看完,而这期间你连一个漏都没亲自测过,那这笔钱基本相当于白花了。

所以我的建议是:入门阶段先别买贵课,几十块到几百块的体系化课程作为扫盲足够了。真正的提升,是你注册好平台、开测之后,从一次次被拒的报告中挨个学到的东西。等你有真实产出、知道自己缺什么的时候,再针对性地买进阶课程,效果会好很多。

6.4 警惕承诺“内推”“保录取”的课程

最后提醒一个容易踩的坑:任何向你承诺“交钱就能进某SRC核心群”“结业保推荐给企业”的课程,都要特别谨慎。SRC平台对测试者的考核是看真实产出的,不是你上完课就自动具备能力的。这种承诺本质上就是在利用你想快速融入圈子的焦虑。安全这行没有速成路径,真实能力只能靠一次次的实战积累起来。课程可以帮你压缩踩坑时间,但不能替你走路。

我在实际挖洞这几年的感受是:SRC这条路,入门真的不难,但坚持很难。你会经历连续几周没有产出时怀疑自己的阶段,也会经历提交上去的报告被一句“忽略”就驳回的挫败。但只要你把这个过程当成一个长期的技能打磨,每一次被拒、每一次重新梳理攻击面,其实都是在变强。等到你慢慢摸清一个行业、一个厂商的资产规律之后,你会发现漏洞挖掘的产出会变得稳定,这种手感是用钱换不来的。

最后再分享一个小技巧:把每次提交的报告(不管通过还是被拒)都留档整理成一个自己的知识库。过一段时间回头翻一翻,你就能看到自己当时的思路漏洞在哪、厂商审核人员在关心什么。这个习惯我坚持了几年,现在看每一个新目标时,脑子里的第一反应基本都来自这份沉淀,而不是任何一门课程。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询