WAF - SQL注入绕过安全狗靶场实战

 WAF - SQL注入绕过安全狗靶场实战

 

 

实验介绍

安全狗,互联网安全品牌,云安全服务与解决方案提供商 。 企业用户遍布互联网金融、电商、游戏、移动互联网、政府单位等多个行业。

网站安全狗 :
面向网站安全,包括:网马扫描及查杀(自有引擎,只针对网页木马);网马主动防御功能(可主动拦截网马上传和访问的动作);防SQL注入功能、防XSS跨站攻击功能;防盗链防下载;以及防止CC攻击。

服务器安全狗
面向服务器安全的,这方面包括:基于内核驱动的抗DDOS攻击、抗ARP攻击、抗WEB CC攻击功能;基于内核驱动的文件系统主动保护功能(可防止文件被篡改、保护系统文件);基于内核驱动的服务器其他方面的主动防御功能(系统账号、注册表、远程登陆等方面的保护);以及服务器全面优化及体检功能;

 

 

实验目的

1. 掌握sql注入绕过安全狗方法与技巧

2. 了解安全狗过滤方式

 

 

 

实验步骤

这里我们拿sqli - labs - master 的33关做实验

第一步先判断有没有闭合点,看下是数字型还是字符型

 

 

 

 

通过前面的SQL注入实验可以发现,字符型的注入点我们都是用单引号来判断的,但是当遇到addslashes()时,单引号会被转义成 \’ ,导致我们用来判断注入点的单引号失效。
所以我们的目的就是使转义符 \ 失效、使单引号逃逸。

 

 

 

 

我们的payload的是【%df '】,其原理是当MySQL在使用GBK编码的时候,会认为两个字符是一个繁体汉字,然后让我们的单引号%27成功逃逸

 

 

 

 

 

当输入 order by 5 的时候就被安全狗拦了下来

那说明 order by 语句不能使用

 

 

 

 

尝试了多种方式  最后我们把order by 用%23%0a 进行编码换行之后成功躲过了

这里%23%0a   %23是#注释符  %0a是换行的意思

判断出它的显示位是3

接着上联合选择

 

 

 

 

这里输入union%23%0aselect 也被拦了  

说明还要换一下语句

 

 

 

 

%23%0a再加all   all是把语句拼接起来   成功了

接下来在显示位查询数据库名 

 

 

 

 

 

database() 这个函数也被禁止使用

 

 

 

 

 

把database()  用上面的%23%0a从中间隔开来  实现绕过  获取到了数据库名

database%23%0a()

 

 

 

 

 

使用联合查询 查表名的时候单引号被转义成 \' 

 

 

 

 

 

这里将数据库名进行十六进制编码

security 十六进制后变成 7365637572697479

然后在十六进制编码前加上0x

 

 

 

 

 

 

这里把数据库名进行了十六进制编码 成功报出了表名

接下来查列名 查字段都是一样的方法 进行十六进制编码

安全狗在后面的操作中也没有拦了

 

 

防御方式

1.跟新最新版本的安全狗

2.在代码层进行特殊字符串的转义以及过虑

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值