最新版本安全狗绕过(2020.5.4)

环境:
phpstudy2018(mysql+apache)
安全狗v4.0专业版
sqllabs靶场
最新版本安全狗绕过(2020.5.4)_第1张图片
访问正常

最新版本安全狗绕过(2020.5.4)_第2张图片
报错,根据报错可看出数据被带入执行,即存在注入
再试试 and 1=1
嚯?安全狗。。。。。
最新版本安全狗绕过(2020.5.4)_第3张图片
拦截
这里直接
用 /**/ 代替 空格
用 /!xxxx/ 代替 xxxx 绕过

如果不明白可以看看这两篇文章,关于MySQL注释的解释
https://www.cnblogs.com/jcydd/p/7289299.html
https://blog.csdn.net/herojuice/article/details/85136922

接下来order by * 测试 字段数

最新版本安全狗绕过(2020.5.4)_第4张图片重点讲思路,安全狗防注入是规则上面的防御,看看是哪些关键字触发了防御机制
最新版本安全狗绕过(2020.5.4)_第5张图片

最新版本安全狗绕过(2020.5.4)_第6张图片
经过测试可以看到,既不是order 触发了waf,也不是by触发了Waf,而是当order by 这两个词语同时存在的时候,防御机制才会触发,,,,,明白了防御原理,就简单了,
这里直接用这个方法绕过

/**//*!order*//**/%23A%0a%23A%0a%23A%0a%23A%0a%23A%0a%23A%0a%23A%0a%23A%0a/*!by*//**/3/**/--+

最新版本安全狗绕过(2020.5.4)_第7张图片
%23 是url编码中的 # (也就是MySQL中的行注释符)
%0A 是url编码中的 换行
%23 aaaa -->对应的就是 #aaaa (就相当于把这行给注释掉了)
而再加上%0a(也就是换行符,后面的语句又能成功执行了)

你可能感兴趣的:(web安全进阶)