为什么你背完一堆漏洞名词,到真实站点一个洞都找不到?
我见过太多这样的人:
电脑里存着十几 G 教程,收藏夹躺着 PayloadsAllTheThings,OWASP Top 10 背得滚瓜烂熟,SQL 注入的五种姿势、XSS 的绕过技巧,张嘴就能说。
一到真实 SRC 平台,对着一个企业网站,点半天,输半天 payload,最后啥也没挖到,骂一句"这站太安全了",灰溜溜走了。
真不是站太安全。是你从一开始,就学错了路。

你走的路,从一开始就是散的
现在市面上教网安的,基本就两条路,全有问题。
第一条是科班的路。
我见过太多计算机科班出身的,OSI 七层能默写,操作系统公式都能推导,考研专业课一百多分。真给个真实站点,坐那愣半天,想不明白眼前这个 SQL 注入,跟自己学了四年的操作系统到底有啥关系。
四年下来,知识全是散的:学操作系统的时候,不知道跟 Web 漏洞有啥关系;学数据库的时候,不知道 SQL 注入是怎么来的。
就像背了一整本汽车零件手册:每个零件叫啥都知道,真把发动机拆给你,你不知道哪个是干嘛的,更不知道哪里松了会抛锚。
第二条是培训班的路。
上来先学一周 Linux 命令,学一周 HTML、PHP,第三周就开始列漏洞:SQL 注入五种姿势、XSS 怎么弹、CSRF 怎么伪造,每个配现成 payload,上 DVWA 靶场点一下,数据库出来了,瞬间觉得自己会了。
三天就能打出第一个洞,成就感拉满。
但你学的是"漏洞名字",不是"漏洞怎么来的"。
你记住了注入要用 union select,记住了 XSS 要弹一段脚本,但是你不知道:为什么一个用户输入,最后能跑到数据库里执行?为什么后端框架没拦住?为什么 Nginx 就把这个请求放过去了?
等真上了真实站点,靶场那套 payload 不管用了——人家过滤了引号,加了 WAF,换了参数名,你瞬间就懵了。
我见过太多培训班出来的,拿着 payload 一个一个试,试到手都酸了,一个有效洞没找到。
不是不努力,是他学的是"怎么打标准答案",不是"怎么理解这台机器是怎么跑的"。
根本不是你笨,是没人告诉你:漏洞是顺着数据流长出来的
我自己在 SRC 上投了 18 次,全被驳回,坐那想了很久才想明白:根本不用上来先背一堆漏洞名字。
你先搞懂一件事:一个用户在浏览器里敲的字,从按回车开始,到底经过了哪些地方,最后跑到服务器哪一层去了。
它先到 Nginx,Nginx 把请求转给后端程序;后端收到参数,拼字符串,查数据库;查完结果,返回给浏览器。

整个过程里,任何一层没做校验,让你输入的东西越过了该在的边界,就成漏洞了。
你根本不用先记"这是 SQL 注入、这是 SSRF、这是文件上传"。顺着数据流看:
?rule=... → Nginx → 后端拼字符串 → eval(compile(rule))
这四段里,任何一段少写一行校验,你输入的东西就越过了它该在的边界。
- 参数直接拼到 SQL 语句里,没过滤,叫 SQL 注入;
- 后端拿你传的 URL 直接发请求,没限制内网地址,叫 SSRF;
- 上传文件没校验后缀,直接存在 web 目录,叫文件上传。
这些所谓的"漏洞",根本不是什么神秘的东西。就是这条链路里,某一环的程序员偷懒了,少写了一行校验,让你输入的东西跑错了地方。
我遇到过一次这种场景:页面上全是加密参数,你根本看不到明文 id,常规注入点根本试不出来。但是顺着数据流摸,前端把密钥写在 JS 里,解出参数,后端直接把参数拼到系统命令里了。这根本不是教材里列的那几种经典漏洞,但是顺着链路一摸,问题就出来了。
你抱着"找 SQL 注入、找 XSS"的清单来扫,看到加密参数直接跳过;顺着链路看,一眼就看到哪里错了。
你以为工具能帮你找洞?工具只是放大镜
很多人学安全,先装 Burp、Nmap、AWVS,打开就扫,扫出来一堆漏洞,交上去平台说误报;换个工具再扫,扫出来一堆已修复的历史漏洞,还是拿不到钱。
工具是什么?就是个放大镜。它只能照着别人写好的规则,找它认识的东西。它不知道这个站的业务逻辑是啥,不知道哪个参数是管理员用来删数据的,不知道哪个接口是越权的。
你自己都不知道数据流怎么走,工具扫出来一堆东西,你也判断不了哪个是真洞,哪个是误报。
真实世界里没有标准答案,没人给你标好"这里是 SQL 注入点"。你得自己顺着数据流走,看哪一层没拦住,哪层约束失效了,洞自然就出来了。
那顺着数据流学,到底该怎么学?
下一篇《一个请求要穿过五层》,就把这条链路逐层拆开:参数在哪一层漏出去,漏洞就长在哪一层。
仅限授权测试,严禁非法滥用。
读到这里,说明你在认真看。加入社群,与我们一起深挖底层。
或点此直接进入「星巡底层研习」 →
扫码加入交流社群