1. 别人月入十几万,凭的是什么:收入差距的本质拆解
先别急着自我怀疑。这个问题我思考过很久,也带过不少新人。先说一个结论:月入十几万和月入几百,差的往往不是技术天花板,而是目标选择、漏洞理解和报告价值这三个维度的认知差距。
1.1 确定目标:从“乱打”到“打靶”
很多刚入门的朋友,注册了三四个SRC平台,今天测A厂商,明天测B厂商,后天又跑去测C平台的公益项目。一周下来,发现每一个项目都只是“试探性”地扫了扫,发现目标防御较强,就换下一个。这其实是最大的问题——没有做目标规划。
我自己的经验是:先花时间分析目标。某个SRC平台的资产覆盖有多广?有没有边缘业务?历史漏洞主要集中在哪些域上?漏洞公告里被收录最多的是哪类漏洞?这些信息告诉你两件事:第一,这个目标值不值得投入;第二,它哪些地方的防线最容易被撕开。
奖励机制也是关键。有些SRC平台对高危漏洞给出几万的奖励,但对低危漏洞只给几十块积分。另一个平台则对中危漏洞也给出可观奖励。同样挖出10个低危漏洞,你的收入可能只有别人的十分之一。这还没算重复漏洞的扣除率——热门厂商的核心业务,可能已经被几十个人扫过好几轮了,你的“新发现”大概率是重复的。
我的建议:每个阶段只主攻一个SRC项目,把它当“独家目标”来对待。做深度,而不是广度。精力越聚焦,对资产的熟悉度越高,挖到别人挖不到的逻辑漏洞的概率就越大。
1.2 技术栈差异:不是技不如人,是维度不同
必须承认,收入高的白帽子确实有更强的技术功底。但这里有个误区——他们不是“什么都会”,而是“在特定方向上特别会”。
月入几万的猎人,往往在一个方向上钻研得很深:要么是API接口鉴权漏洞,要么是越权类逻辑漏洞,要么是复杂的业务逻辑绕过。他们不会每天在同一个通用扫描器上反复跑,而是懂得“手工测试为主、扫描器为辅”的组合玩法。扫描器能找到的洞,别人也能找到,所以你的发现很可能已经是被筛过几轮的“剩饭”。
真正拉开差距的,是对业务逻辑的理解能力。通用漏洞(SQL注入、XSS)需要的技巧越来越标准化,而业务逻辑漏洞(越权、支付篡改、验证码绕过、权限提升)则需要你先理解目标系统在做什么、流程怎样流转、什么人角色怎样。这种理解能力不是扫两个包就能练出来的,需要你沉浸在目标的业务场景里反复推演。
所以,别再把“我不会代码”挂嘴边。我认识月入很不错的朋友,很多也不精通代码审计,但他们极其擅长利用接口返回数据猜测业务逻辑,并快速验证数据篡改的可能路径。这是另外一套方法论,是可以靠大量实战练出来的。
2. 核心方法论:从信息收集到危害评定
我自己把SRC漏洞挖掘分成四个阶段:资产梳理、接口分析、逻辑推演、报告输出。每一步都有坑,也都有技巧。
2.1 信息收集:资产梳理决定你的攻击面
信息收集不光是“找子域名”这么简单。我曾经用一个周末,纯手工梳理某目标的资产,发现了一个团队自己都可能遗忘的管理后台。
操作路径大概是这样的:
- 先从根域名出发,收集所有子域名,标注哪些是活跃的、哪些指向第三方服务。
- 对活跃子域逐个访问,记录返回状态码、标题、首页JS引用路径。
- 再深入找测试环境、预发布环境、内部系统入口(比如时间戳命名规律的子域名,或者路径里带有test/staging/pre的域名)。
- 对公司的JS文件做静态分析,搜索内部API接口路径、硬编码的敏感字段、以及后端接口的调用方式。
关键技巧:不要只盯着主域名。很多SRC目标的核心漏洞,藏在边缘资产、旧系统、合作方系统中,因为运维团队对这些系统的防护通常远不如核心业务。
注意:在SRC测试中,测试范围是有限定的。千万不要越界测试合同授权外的资产,尤其是第三方资产。一旦越界,原本善意的漏洞报告也可能引发法律风险。多数SRC平台都有明确的资产范围列表,请确保你的目标在这里面。
2.2 漏洞类型:高产出与低产出的真实落差
下面这组数据,是根据我身边朋友和我自己的经验统计出来的,仅供参考,不保证绝对准确。
| 漏洞方向 | 发现难度 | 奖金水平(某主流SRC平台参考) | 适合阶段 |
|---|---|---|---|
| SQL注入 | 低(扫描器可发现) | 低(多为重复) | 初学者 |
| XSS反射型 | 低 | 低(低危为主) | 初学者 |
| 存储型XSS | 中 | 中 | 进阶 |
| SSRF(服务端请求伪造) | 中高 | 高 | 进阶 |
| 水平越权(IDOR) | 高(需要理解业务) | 很高 | 进阶 |
| 垂直越权(权限提升) | 高 | 很高 | 进阶 |
| 支付逻辑漏洞 | 高 | 很高 | 进阶 |
| 复杂利用链组合 | 极高 | 顶级 | 资深 |
看到没有?高风险漏洞,往往不是靠扫描器跑出来的,而是靠“思考”设计出来的。你如果总是停留在能“看”见的地方,就很难赚到钱。想要真正提升收入,必须把时间和精力,从挖反射型XSS、基础SQL注入这类“可见漏洞”转移到“逻辑漏洞”上来。
2.3 危害评定:同一个洞,为什么别人评分比你高
两封信都提交了同一个漏洞,效果却不一样,这在SRC圈里常有。原因就在于,漏洞危害评定的呈现方式不同。
简单举个例子:某系统存在水平越权漏洞,你可能登录普通账号后直接改URL中的用户ID,看到另一个用户的信息,就提交了。报告里写:“存在越权漏洞,可查看其他用户数据。”交给审核,大概率判定为中危。
但另一个白帽子提交的,是“通过修改某API接口中的ID参数,可遍历任意用户订单,进一步结合时间戳参数,可获取全量用户手机号、地址、支付记录,并可以凭证进行越权操作。”审核一看,危害清晰、影响面确定,高危,奖励翻倍。
同样的洞,不同的危害呈现方式,决定了你是月入几百还是月入几万。
安全报告不是“证明漏洞存在”,而是“证明漏洞危险”。你得让审核人员一眼看到影响范围、危害链条、利用成本。这也是我在指导新人时,反反复复强调的“报告价值决定奖金价值”。
3. 实操记录:一次完整的SRC漏洞挖掘过程
下面我把最近一次完整的SRC漏洞挖掘过程写成一条时间线,拆开来讲具体是怎么做的。为了避免敏感信息,目标统一称为“某综合电商平台”。
3.1 前期侦察:确认测试授权范围
- 上午 9:00,先登录该平台的SRC公告,看了最新的测试范围。本次授权的资产包括主站、移动端API网关、以及小程序后端部分接口。
- 9:30,配置好代理工具并确认能够正确拦截移动端API流量。
- 10:00,花了1小时收集资产。主站根域名下一共收集到17个活跃子域,标注了几个重点目标:一个API网关、一个积分商城、一个客服工单系统。
3.2 测试执行:从业务逻辑漏洞入手
- 10:30,注册了两个普通账号A和B,开始测试“正常业务”和“异常访问”的差异。我不会一上来就跑扫描器,而是先用正常账号走业务流程,用代理把每个请求保存下来。
- 11:00,走了“退款申请”流程后,我注意到一个细节:退款提交的接口里,包含了一个“orderId”参数和“userId”字段。
- 11:15,通过替换方式,把B账号的userId替换成A账号的userId,提交退款申请。结果竟然成功提交了,并且后台“订单归属”显示的不再是B,而是A。这就出现了一个订单归属混淆的问题。
单纯这一步还不够。我要看能不能更深入地影响业务。继续调整参数,发现该接口还能额外接收“refundAmount”参数,通过替换请求中的金额参数,显示退款金额可以大于原订单金额。到这里,一个严重的“订单数据篡改+超额退款”逻辑漏洞就成型了。
3.3 报告撰写:把漏洞价值讲清楚
草稿初稿时,我写的是“退款接口存在越权,可以修改退款金额”。写完我自己都觉得没讲清楚。后来我重新组织了一下,分成了五个部分:
- 漏洞概述:一句话说清漏洞类型和风险等级。
- 影响范围:列明受影响接口、影响账号量级、业务场景。
- 复现步骤:基于时间线/操作步骤的完整复现步骤,每一步配响应包截图。
- 危害分析:如果被恶意利用,会造成什么后果——资金损失、数据泄露等。
- 修复建议:给出具体的修复建议,比如服务端重新校验权限,金额校验和订单状态校验必须放到后端。
大概花了一个小时,将报告打磨清楚并提交。最后该漏洞被审核认定为高危,奖励积分排在当月该平台前列。这便是我说的“报告的呈现方式直接决定奖金级别”。
心得:写报告时,把审核人员当成一个不懂这个业务、需要快速理解“为什么危险”的读者。不要小看这一步。一个挖掘难度高但没有表达好的漏洞,甚至不如一个中危但描述极清晰的漏洞吃香。
4. 常见问题与排查技巧实录
4.1 踩过的坑与避坑心得
我给自己总结过一张表,下面是经常会遇到的问题和排查建议,可能和你也在经历的困境对得上:
| 问题现象 | 可能原因 | 排查与解决思路 |
|---|---|---|
| 扫描器扫不到任何漏洞 | 目标有WAF、扫描流量被拦截 | 改用手工测试,调整请求频率,换更真实的浏览器指纹 |
| 漏洞提交10分钟就被标记重复 | 目标太热门,别人在你之前就提交过 | 换个方向和思路深挖,不要停留在通用接口路径上 |
| 报告提交一周了还是“待审核” | 内容过于简略或复现不充分 | 主动补充复现步骤、截图、请求包,必要时联系平台运营 |
| 测试一个接口感觉有逻辑问题,但不知道怎么深入 | 对业务理解不够 | 先做正常流程的完整走查,画出交互链路图,再逐节点尝试绕过 |
| 挖到越权漏洞,但审核只给了中低危 | 没有说明影响范围 | 尝试扩大验证:是否能批量枚举?是否能影响敏感字段? |
4.2 排查思路速查表:从“没产出”到“持续产出”
如果目标明确且已排查完核心资产,但还是没有收获,我的恢复节奏是:
- 重新回到信息收集环节。查最新的子域、JS文件变化、新上线的API路径。资产一直在变,SRC也一直在变。
- 盯上目标系统的“变更点”。比如某天系统弹出了新功能“优惠券裂变”,这是一个全新的逻辑功能,大概率伴随着不严谨的判断逻辑。这个阶段是最容易挖到逻辑漏洞的。
- 重新翻阅目标近期的版本更新记录。每一次更新都可能引入新的攻击面。
- 不在单点逗留太久。一个点搞了三个小时还没有思路,就先放放,在另找时间重新看,带着“第一眼”的新鲜感回归,常有新发现。
这里特别希望没有收获的人明白一点:SRC挖洞是长尾效应很强的事,不是线性收入。一次“突然产出”,可能是前期几周沉淀的结果。
4.3 常见误判:漏洞重复是否等于白干
很多新人,被“重复漏洞”标记几次以后,心态直接崩了。但你要换个角度看:证明你已经能发现漏洞了,只是还没找到找到无人区。
有些方法可以降低重复率:
- 研究目标官方公告中已收漏洞的公告标题。已收的漏洞类型直接避开,别在那里浪费时间。
- 早于扫描器的“影子资产”。我去看一些接口列表、测试节点,这些地方通常没有太多人关注。
- 把自己当成“目标运维团队成员”,用他们的视角思考哪里容易漏。比如:备份文件、错误日志、phpinfo、内部API调试模式等等。这些点在核心业务上少见,在边缘资产上却很常见。
5. 写在最后:月入几百到月入过万,差的不只是技术
以前我也把“月入”的差距认为是技术的差距,但后来发现,比技术更大的鸿沟是目标和理解层面的鸿沟。
挖洞真正需要的能力,其实是:找到无人关注的目标资产、从业务视角去理解漏洞的危害、以审核人员认可的方式表达漏洞价值。这三件事,都和单纯堆料的技术能力无关。
如果你今天还是月入几百,不妨自查一遍:
- 目标选对了吗?参与测试的规则了解清楚了吗?
- 还在依赖自动化工具扫描吗?是否尝试过深入理解业务逻辑?
- 报告会写吗?是否能让审核人员5分钟之内看懂严重性和必要性?
最后分享一个我反复用的小习惯:每次提交完漏洞,不管有没有被采纳,我都会复盘一遍,问自己三个问题——我的漏洞是否可能被更严重地利用?这个资产附近是否还连着其他薄弱环节?这个漏洞模式是否在其他业务模块也能套用?
如果你能在每次挖掘中坚持这个习惯,下一个月,你看到的不再是“月入几百”的账单,而是一条逐渐开阔的路径。这条路不好走,但它确实存在。