【实战】一个简单的SQL注入绕过

发现一个布尔型注入点:

判断库名长度:

首先想到可能处理了空格,简单fuzz下:

发现or (偶数个~) 也可以bypass,如下图:

就用这个进一步获取库名长度:

还是被拦截,猜测是处理了length()或database()函数,函数和括号之间可以拼接一些字符,fuzz如下:

利用注释换行符组合可绕过:

继续判断数据库长度:

首先想到database()被拦截,同样的方法直接加入注释换行符bypass:

substr没有拦截直接跑库名:

借助burp的intruder跑:

借助regexp正则匹配也是ok的,payload如下:

'%20or%0adatabase%23%0a()regexp'%5el'%09or%09'2'like'1

最终跑出结果如下图: 

原文地址:https://www.cnblogs.com/peterpan0707007/p/14643088.html