【WAF Bypass】一个简单的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

最终跑出结果如下图: 

 

posted @ 2021-04-11 10:16  Carrypan  阅读(235)  评论(0编辑  收藏  举报