白帽故事 · 2025年7月9日 0

2025年仍然奏效的WAF绕过技术

file

4分钟阅读

前言

曾几何时,Web应用防火墙(WAF)被视作保护Web应用的终极卫士。

然而到了2025年,攻击者变得更加狡猾,WAF 虽然仍是重要防线,却已不再是坚不可摧的屏障。无论是渗透测试者、红队成员还是防守人员,了解 WAF 绕过技术对保护组织应用或准确模拟真实威胁至关重要。

WAF为何不再绝对安全?

现今大多数企业都将WAF作为第一道防线部署,但如果完全依赖它,只会产生“虚假的安全感”。

现代攻击者不仅了解 WAF 的工作原理,更知道如何绕过它们。

WAF工作原理速览

WAF通过以下方式过滤、监控并阻断往来于Web应用的HTTP/HTTPS流量:

  • 基于签名的检测(已知攻击模式)
  • 基于异常的检测(异常流量模式)
  • 基于规则的策略(自定义规则)

但为了避免误报,WAF 通常采用较为宽松的配置策略,而这恰恰成为了攻击者的突破口。

2025年依然有效的七种绕过技术

1. Payload混淆技术

攻击者在不改变功能的前提下变换恶意代码的"样貌":

  • 如将<script>替换为<scr\ipt>
  • 使用大小写不敏感关键字(UNION SELECT vs union select
  • 对输入进行URL编码或双重编码:../%2e%2e%2f%252e%252e%252f

工具推荐:可使用Burp Suite IntruderWAFW00F进行WAF规则模糊测试。

2. 非标准的HTTP方法

WAF通常只检查GETPOST请求,但攻击者可转而使用:

  • PUTHEADOPTIONSTRACE等方法
  • POST改为GET并将某些参数放在header (如X-Original-URL

例如:通过PUT方法发送SQL注入Payload可绕过基础WAF过滤器。

3. 头部注入

将恶意Payload藏在HTTP头中:

  • 常用目标包括User-AgentX-Forwarded-ForReferer
  • 如通过User-Agent注入恶意代码以触发SSRF或基于日志的RCE

4. JSON/XML格式攻击

许多WAF主要检查URL参数和表单数据,但很少深入解析:

  • JSON格式{ "input": "1 OR 1=1" }
  • 例如:一些WAF对深层嵌套JSON或复杂编码的XML检查不够全面

5. 编码变种

转换编码方式欺骗 WAF :

  • Base64编码
  • Unicode和UTF-7编码
  • 十六进制字符串混淆
  • 如将alert(1)替换为\u0061\u006c\u0065\u0072\u0074(1)可绕过某些XSS过滤器

6. 速率限制与时间差攻击

假设 WAF 基于模式进行拦截,但如果:

  • 缓慢逐字节发送相同Payload
  • 在请求间设置随机时间间隔
    即可利用这种延迟逻辑进行绕过(工具:SlowlorisSlowHTTPTest)。

7. Payload分片

将恶意Payload切分成多个部分:

  • 使用分块传输编码发送片段
  • 适用于仅检查完整Payload的WAF

例如:攻击者通过多次请求将<script>分拆为<script>

真实案例:

2023年末,攻击者成功利用 WAF 未能检测Base64编码的SSRF Payload 的漏洞。

该Payload被嵌入Referer头,通过多层传递,最终从内部 AWS 服务器泄漏云元数据,这一绕过技术在2024年被众多红队采用,直到2025年依然活跃。

防守者最佳实践

  • 全流量格式检查:应包括JSON、XML、多部分和标头数据
  • 服务器端输入验证:不能仅依赖WAF
  • 定期更新WAF规则:结合威胁情报源做到定期更新规则
  • 采用多层防御:结合RASP(运行时应用自保护)和EDR(终端检测与响应)
  • 异常检测优先:不仅仅依赖签名检测

关键启示

  • WAF很有用,但并非完美无缺,攻击者的变化速度远超签名更新
  • 混淆、编码和替代成为主流绕过策略
  • 防守者需要采用分层安全方法并定期测试WAF实效性
  • 渗透测试应使用真实Payload和多样化工具模拟攻击行为
  • 持续学习和模拟 依然是在2025年保持领先的关键

网络安全既是挑战,也是永不枯竭的知识海洋,保持警惕,保持好奇!🛡️