写在前面:合法学习边界
本文讨论 WAF 原理和绕过思路,目的是帮助初学者理解防护机制,而不是提供攻击真实网站的教程。任何 WAF 绕过测试都必须在授权环境中进行。
一、WAF 是什么
WAF(Web Application Firewall)是位于应用前面的防护层,用来检查 HTTP/HTTPS 请求和响应,识别 SQL 注入、XSS、文件包含、命令注入等攻击模式。
WAF 通常做三件事:
| |
二、WAF 的工作方式
1. 规则匹配
WAF 常用规则和特征识别攻击。例如检测:
| |
2. 解码后匹配
请求参数在进入规则引擎前通常会解码。例如 URL 编码、HTML 编码、Base64 等。
3. 上下文判断
成熟 WAF 会判断参数位置,例如 URL、Cookie、Body、Header。
三、为什么 WAF 会误报
误报的常见原因:
| |
例如富文本内容里天然会有 < 或 &。
四、为什么 WAF 会漏报
漏报的常见原因:
| |
五、防御视角的调优建议
| |
六、报告中如何描述 WAF 问题
好的报告应说明:
| |
只说“WAF 可被绕过”但没有证据,是没有价值的结论。
七、小结
WAF 是防护,不是银弹。它最适合做流量过滤和第一道防线,真正有效还要结合业务鉴权、输入处理、日志审计和持续调优。