WAF 绕过手册
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 中的指引,将 @user_3c6cb52e/waf-bypass-lr-erpa 安装到你的 AI 助手中。
技能介绍
解决什么问题
在 Web 应用渗透测试中,WAF 常因检测到恶意载荷而直接拦截请求,导致无法验证漏洞是否真实存在。典型场景如:提交 SQL 注入 payload 时被重置连接,XSS 测试被 403 拒绝,或 API 参数被误判为攻击特征。这些问题使得测试人员难以判断是应用本身存在漏洞,还是 WAF 的防御策略过于严格。
如何工作
该技能将 WAF 绕过拆解为可操作的技术清单,覆盖以下核心能力:
- 编码绕过:通过
URL编码、双重编码、Unicode 编码或HTML 实体编码绕过基于明文匹配的检测规则。 - 请求结构混淆:利用
大小写变体(如SeLeCt)、注释注入(如UN/**/ION)、HTTP 头修改(如伪造X-Forwarded-For)或分块传输编码拆分 payload。 - 流量特征调整:采用
IP 轮换分散请求来源,时序攻击调整请求间隔避开速率限制,载荷混淆根据 WAF 厂商特性调整 payload 格式(如针对 ModSecurity 或 Cloudflare 的差异策略)。
使用流程遵循固定步骤:先加载完整清单,按顺序应用技术(用户指定顺序除外),针对当前目标验证每种方法的适用性,记录已尝试的绕过项,最后基于结果建议下一步行动(如切换编码方式或调整请求头组合)。
适用边界
- 仅限授权测试:绕过技术仅用于合法渗透测试或漏洞验证场景,需获得目标系统的明确授权。
- 依赖 WAF 类型:不同厂商的 WAF(如 Imperva、F5、AWS WAF)检测逻辑差异显著,需根据目标环境调整策略组合。
- 不替代漏洞利用:绕过 WAF 仅解决“访问被阻断”问题,若应用本身不存在漏洞,绕过行为无法触发实际攻击。
使用场景
- 渗透测试中 WAF 拦截 SQL 注入载荷,需用编码或注释变体绕过后验证漏洞是否存在
- 授权 XSS 测试时 payload 被 403 拒绝,需要调整大小写或 HTTP 头后重试触发条件
- API 扫描中请求因分块编码被丢弃,需改用双重编码或 IP 轮换完成漏洞探测
- WAF 规则误报正常业务参数,需要根据厂商特性混淆载荷以区分真实攻击和误报
适合人员
- Web 渗透测试工程师:需要绕过 WAF 验证注入或 XSS 漏洞是否真实存在
- 应用安全研究员:针对特定 WAF 厂商研究载荷混淆和编码绕过技术
- DevSecOps 工程师:在 CI/CD 流水线中集成 WAF 绕过检测以验证安全控制有效性
- 安全运维人员:排查 WAF 拦截记录,区分误报与真实攻击尝试