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

发现一个布尔型注入点:

 

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

 

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

 

判断库名长度:

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

 

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

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

 

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

 

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

 

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

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

 

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

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

 

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

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

 

继续判断数据库长度:

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

 

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

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

 

substr没有拦截直接跑库名:

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

 

借助burp的intruder跑:

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

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

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

最终跑出结果如下图: 

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

 

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

上一篇:node 调试 ndb


下一篇:MySQL排名函数