mysql注入绕过空格过滤的方法
2017-04-05 21:54
666 查看
SQL注入时,空格的使用是非常普遍的。比如,我们使用union来取得目标数据: http://www.xxx.com/index.php?id=1 and 0 union select null,null,null
上面的语句,在and两侧、union两侧、select的两侧,都需要空格。
1. 注释绕过空格
这是最基本的方法,在一些自动化SQL注射工具中,使用也十分普遍。在MySQL中,用
/*注释*/
来标记注释的内容。比如SQL查询:
select user() from dual
我们用注释替换空格,就可以变成:
select/**/user()/**/from/**/dual
如下图,SQL命令能够正确执行:
2. 括号绕过空格
空格被过滤,但括号没有被过滤,可通过括号绕过。
我的经验是,在MySQL中,括号是用来包围子查询的。因此,任何可以计算出结果的语句,都可以用括号包围起来。而括号的两端,可以没有多余的空格。
括号绕过空格的方法,在time based盲注中,是屡试不爽的。
举例说明,我们有这样的一条SQL查询:
select user() from dual where 1=1 and 2=2
如何把空格减到最少?
观察到user()可以算值,那么user()两边要加括号,变成:
select(user())from dual where 1=1 and 2=2;
继续,1=1和2=2可以算值,也加括号,去空格,变成:
select(user())from dual where(1=1)and(2=2)
dual两边的空格,通常是由程序员自己添加,我们一般无法控制。所以上面就是空格最少的结果。
这也是非常实用的一个技巧。
用我常用的一条time based盲注语句做个总结: http://www.xxx.com/index.php?id=(sleep(ascii(mid(user()from(2)for(1)))=109))
这条语句是猜解user()第二个字符的ascii码是不是109,若是109,则页面加载将延迟。它:
1) 既没有用到逗号、大小于符号
2) 也没有使用空格
却可以完成数据的猜解工作!
上面的语句,在and两侧、union两侧、select的两侧,都需要空格。
1. 注释绕过空格
这是最基本的方法,在一些自动化SQL注射工具中,使用也十分普遍。在MySQL中,用
/*注释*/
来标记注释的内容。比如SQL查询:
select user() from dual
我们用注释替换空格,就可以变成:
select/**/user()/**/from/**/dual
如下图,SQL命令能够正确执行:
2. 括号绕过空格
空格被过滤,但括号没有被过滤,可通过括号绕过。
我的经验是,在MySQL中,括号是用来包围子查询的。因此,任何可以计算出结果的语句,都可以用括号包围起来。而括号的两端,可以没有多余的空格。
括号绕过空格的方法,在time based盲注中,是屡试不爽的。
举例说明,我们有这样的一条SQL查询:
select user() from dual where 1=1 and 2=2
如何把空格减到最少?
观察到user()可以算值,那么user()两边要加括号,变成:
select(user())from dual where 1=1 and 2=2;
继续,1=1和2=2可以算值,也加括号,去空格,变成:
select(user())from dual where(1=1)and(2=2)
dual两边的空格,通常是由程序员自己添加,我们一般无法控制。所以上面就是空格最少的结果。
这也是非常实用的一个技巧。
用我常用的一条time based盲注语句做个总结: http://www.xxx.com/index.php?id=(sleep(ascii(mid(user()from(2)for(1)))=109))
这条语句是猜解user()第二个字符的ascii码是不是109,若是109,则页面加载将延迟。它:
1) 既没有用到逗号、大小于符号
2) 也没有使用空格
却可以完成数据的猜解工作!
相关文章推荐
- mysql注入对and or的过滤及uinon select等过滤的一个方法突破
- mysql绕过注入过滤
- 19、注入篇————MYSQL过滤特殊符号的字符型注入方法
- mysql注入对and or的过滤及uinon select等过滤的一个方法突破
- mysql注入对and or的过滤及uinon select等过滤的一个方法突破
- Discuz防注入函数绕过方法分析及没用心的修复补丁
- [VC] - 绕过主动防御的代码注入方法思考
- 11种方法绕过防注入
- 利用Page基类过滤URL注入代码-防SQL注入的方法
- mysql显错注入新方法
- Discuz防注入函数绕过方法分析及没用心的修复补丁
- 几种方法绕过防注入
- 码审计:discuz 防注入函数绕过方法分析及没用心的修复补丁
- xss绕过过滤之方法
- [AS3]网上找的过滤空格的方法
- xss绕过过滤方法分享 及有关web攻击的方法
- 几种通用防注入程序绕过方法
- 突破 Sql 防注入过滤程序继续注入的一点方法、经验、技巧总结
- 防注入过滤了空格可以使用/**/代替
- 攻击方法:谈php+mysql注入语句构造