第 96 章 SRC 高级方法论(攻击优先级 / 证据纪律 / WAF 绕过)
第 64 章讲了 SRC 的基础流程;本章是从真实 SRC 经验(22,132 个漏洞统计)提炼的高级工程方法论:怎么排攻击优先级(不瞎打)、怎么保存证据(提交不被拒)、怎么绕过 WAF(拿高分漏洞)。SRC 的分差不在"知道多少漏洞",在"测试纪律"。
📍 知识点地图 | 主题:SRC高级 | 前置:第64章 | 后续:— | 核心概念:攻击优先级、证据纪律、时间盒、WAF绕过
96.1 攻击优先级模型(不瞎打)
核心原则
不是所有漏洞等值: 高危占比有统计规律
时间有限: 先打"大概率高分"的,再打"低概率低分"的
三维评分(每维 0-3 分,总分 0-12):
1. 漏洞严重性(数据影响/权限影响)
2. 利用条件(是否需要认证/前置)
3. 影响范围(单用户/全站/全库)
→ 得分高者优先
16 类漏洞的高危占比(统计排序)
高占比(优先打):
RCE / 未授权访问 / SQL 注入 / 越权(IDOR)/
反序列化 / 文件上传 / SSRF / 逻辑漏洞
中占比:
信息泄露 / XSS(存储型 > 反射型)/ CSRF / 目录遍历
低占比:
XSS(反射型普通)/ 低危配置 / 纯信息类
经验: 先扫"未授权 + RCE + 注入"三类(出洞率最高)
链式价值(Chain to escalate)
单点低危 ≠ 无用: 低危可能组合成高危
例: 信息泄露(找接口)→ 未授权接口 → 任意文件读 → RCE
原则: 每个发现记录"能链到什么"(第 64 章 IDOR 送分洞思路)
96.2 时间盒管理(SRC 时间打法)
4 种时间模板(按目标类型)
模板 A: 6 小时快速(新上线系统/小众资产)
前 2h: 信息收集+接口枚举
中 2h: 主攻 3 类高危(未授权/RCE/注入)
后 2h: 深挖可疑点 + 报告
模板 B: 定向深挖(指定目标/重点系统)
侦察 → 功能全梳理 → 逐功能深测 → 逻辑漏洞重点
模板 C: HVV/攻防演练(时间紧迫)
优先"能进"的(弱口令/未授权/漏洞利用)
不求全,求突破
模板 D: SRC 日常刷分(碎片时间)
每天固定 1-2h,按 96.1 优先级打
探索预算(时间分配)
每个功能/参数的探索时间预算:
核心功能(登录/上传/支付): 深挖(长预算)
边缘功能(统计/导出): 快速扫(短预算)
超预算 → 记录待办,换目标(避免死磕)
96.3 证据纪律(提交不被拒的核心)
三条铁律
1. 还原原貌: 截图/请求展示"漏洞发生时"的真实状态
(不修饰/不伪造/不事后补)
2. 双份证据: 请求+响应都要(单份易被质疑)
3. 步骤可复现: 任何人按你的步骤能复现(关键!)
证据要素:
□ 完整请求(方法/URL/头/体)
□ 完整响应(状态码/头/体)
□ 时间戳(漏洞发现时间)
□ 环境信息(浏览器/工具版本)
□ 截图(关键界面)
DNSLog / 带外平台(无回显时的证据)
场景: 盲注/无回显 XXE/SSRF 探测
工具: DNSLog.cn / ceye.io(带外回调)
用法:
1. 申请专属域名
2. payload 里嵌入(如 .xxx.dnslog.cn)
3. 观察回调记录 = 证据(时间/IP/记录)
截图规范
□ 完整 URL 栏(证明在哪)
□ 完整请求/响应(Burp 截图)
□ 关键内容高亮(减少审核负担)
□ 不裁剪关键信息
96.4 WAF 绕过方法论(拿高分漏洞)
通用绕过框架
WAF 检测内容:
□ 关键字(select/union/<script>)
□ 模式(SQL 语法特征)
□ 行为(异常请求频率)
绕过维度(按层):
1. 编码层: URL 编码/双重编码/Unicode/十六进制
2. 语法层: 等价替代(and→&&、=→like、空格→注释)
3. 结构层: 分块/换行/大小写混合/垃圾字符
4. 逻辑层: 从"被防护的点"绕(找未防护接口)
各漏洞的 WAF 绕过速查
SQL 注入:
注释代替空格: select/**/from
等价函数: substr→mid、=→like→rlike
Hex 编码: 0x61646d696e → 'admin'
大小写: SeLeCt
XSS:
大小写: <ScRiPt>
编码: script / javascript:
事件变体: onerror/onload/onfocus/onpointerenter
无括号: alert`1` / confirm`x`
SSRF:
IP 变体(第 58.4 节: 八进制/十进制/短格式)
URL 解析差异(@/#/%23)
文件上传:
后缀变体: .php5/.phtml/.pHp
内容伪装: GIF89a 头 + 图片二次渲染绕过
命令注入:
空格: ${IFS}/{} 语法(第 58.8)
引号变体: c'a't / c""at
通配符: /bin/c?t
定向绕过(针对框架漏洞)
Log4j RCE(Log4Shell): ${jndi:ldap://...} 变体编码
Spring Actuator: 路径变体(双 URL 编码/分号/大小写)
Fastjson RCE: @type 的 Unicode/十六进制编码/嵌套 JSON
96.5 提交前自检清单(避免被打回)
□ 漏洞真实存在(多次复现)
□ 步骤可复现(按文档走一遍)
□ 证据完整(请求+响应+截图)
□ 严重性判断合理(对照厂商标准)
□ 影响描述准确(不夸大/不缩小)
□ 修复建议可执行
□ 无越界操作(范围/数据)
□ 报告格式规范(模板)
96.6 SRC 高级检查清单
□ 攻击优先级(三维评分/高危优先)
□ 时间盒管理(模板选择+预算)
□ 未授权/RCE/注入优先扫
□ 链式价值评估(低危组合)
□ 证据纪律(原貌/双份/可复现)
□ DNSLog 带外验证
□ WAF 绕过(分层框架)
□ 提交前自检(防打回)
□ 沉淀: 每次出洞记录模式(复盘)
动手练习
- 对一个靶场按"三维评分"给 10 个候选漏洞排序,验证你的优先级选择。
- 练习 WAF 绕过:用 DVWA + 一个 WAF 插件(如 ModSecurity),尝试绕过 SQL 注入防护。
- 写一份"证据完整"的报告(对照 96.3 清单),自己先按步骤复现一遍。
- 用 DNSLog 完成一次带外验证(SSRF/盲注),记录回调证据。
深入阅读
- 仓库:
skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md(优先级评分) - 仓库:
skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md(证据纪律) - 仓库:
skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md(时间盒) - 仓库:
skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md(WAF 绕过 payload 库) - 仓库:
skills/pentest-tools/src-hunter/SKILL.md(SRC 总纲) - 仓库:
skills/pentest-tools/src-hunter/references/payloader/by-category/web/(按漏洞类 payload)