SQL注入绕过某Dog

作者: 黑客网 分类: 正规黑客联系方式 发布时间: 2022-05-26 14:33

SQL注入绕过某Dog

一、环境搭建

下载最新版的安全狗

SQL注入绕过某Dog

安装后配置好环境(将防护等级修改为高级)

SQL注入绕过某Dog

注:此次使用的为sqli-lab靶场,懒得自己写环境了。

二、尝试绕过

使用普通的注入语句尝试,被拦截,此时不要慌,想绕狗呢,就必须知道那个关键字被识别了,想办法使用相同的参数去代替。

SQL注入绕过某Dog

语句很短,盲猜是 and 被识别了,删掉之后页面正常。

先来看这句注入 ?id=1' and 1=1--+ 可以理解为 and 前后的条件达成一致不会报错,所以这里的 and 可以替换为 or 、 xor 、&& 、|| 等等,1=1 、1=2 这种判断条件可以改为 false、true等等,思路捋清晰,开始测试。

SQL注入绕过某Dog

测试结果 ?id=1' || true--+ 成功绕过,说明此处的条件判断将 and 改为 ||可以绕过。

SQL注入绕过某Dog

此时换个思路,尝试步修改 and 使用内联注释尝试绕过

内联注释是MySQL为了保持与其他数据兼容,将MySQL中特有的语句放在/!…/中,这些语句在不兼容的数据库中不执行,而在MySQL自身却能识别,执行。/*!50001*/ 在数据库版本大于5.00.00时中间的语句会被执行,此处的50001表示假如。

?id=1'/*!11444and*/ '1'='3'--+

SQL注入绕过某Dog

?id=1'/*!11444or*/ '1'='3'--+

SQL注入绕过某Dog

?id=1' and /*!500001*/=/*!500002*/--+

SQL注入绕过某Dog

下面一步时猜字段,使用order by 、group by等,安全狗一直会识别 order by ,但不会识别 group by。

SQL注入绕过某Dog

SQL注入绕过某Dog

后边是联合查询,union select 等效替换,内联注释的添加,还可以使用特殊字符替换空格来尝试绕过(在20年12月份还写过一版,当时的 union 中间穿插 /*%!a*/ 还可以绕过)

SQL注入绕过某Dog

尝试内联注释和 %0a 截断都会被拦截,应该是匹配到了内联注释直接拦截。

SQL注入绕过某Dog

尝试在参数后插入其他语句后执行后,添加注释,再使用截断;这里直接使用#语句报错,将双引号给直接注释掉了,将 # 替换为 %23回显正常。

?id=1' regexp "%0A%23" /*!11144union %0A select */1,2,3--+

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

标签云