网站地图    收藏   

主页 > 后端 > 网站安全 >

安全狗测试--注入篇 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 10:15 作者: 阅读:

[导读] 简单闲的蛋疼,从官方网站上下载http://www.anquangou.cn/IIS v3.0 安装 简单测试一下...构造一个简单的注入页面asp+sqlserver 开始测试:绕过:原来如此简单,顿时信心百倍二、基础篇1.数据流向ht...

简单闲的蛋疼,从官方网站上下载http://www.anquangou.cn/
IIS v3.0 安装 简单测试一下...
 
构造一个简单的注入页面asp+sqlserver 开始测试:
 
 
绕过:
 
原来如此简单,顿时信心百倍
 
 
 
二、基础篇
 
 
 
1.数据流向
 
http://zone.wooyun.org/content/5091
 
学习剑总大作感觉受益匪浅(没有办法这年头不拍马屁,不给过),正向剑总说的,对于一个请求,在有防护的情况下,数据的流向:
 
data->安全狗->webserver->app->database
 
 
 
可见,一个数据流在整个流程中会经过多个"程序",而安全狗是优先对数据进行处理,检查到危险就会阻断请求。
 
 
 
2.所谓的安全狗被绕过:
 
 
 
对于一个有效攻击,安全狗没有正确识别成功阻断,导致攻击成功。
 
3.安全狗被绕过的原因:
 
 
 
对于同样的一个请求,安全狗与webserver、app、database理解不同,导致安全狗被绕过。
 
 
 
三、测试
 
 
 
对于注入,当然是希望获得数据库里面保存的数据了,因此测试:
 
 
额,安全狗毫无反应,难道安全狗认为这个没有必要么?也是这个危害是小了一些
 
 
 
继续测试 select from
 
原来安全狗防护的是select from
 
 
 
怎么绕过?就要用到各种安全狗理解上的不同了...
 
 
 
1)复参测试
 
 
 
首先想到的是80sec牛人说的那个iis复参问题了
 
发现失败了,安全狗可以识别。
 
 
 
2)iis对%解码特性测试
 
有人分析说iis的asp.dll在进行参数url解码存在特性:
 
IIS下的asp.dll文件在对asp文件后参数串进行url解码时,会直接过滤掉09-0d、20、%(下两个字符有一个不是十六进制)字符。
 
将Get请求变成post请求,然后再from的f后面添加一个空格:
 
绕过成功.
 
 
 
3)Unicode编码测试
 
IIS支持unicode编码,因此使用unicode编码看看安全狗是否会拦截?
 
安全狗没有进行unicode解码
 
 
 
4)mssql特性测试
 
也可以,但是有点鸡肋,在某些情况下可以..
 
 
 
四、总结
 
 
 
这里仅使用知道的几种方法,测试了一下select from规则,发现安全狗做的还是不错的,但是也存在一定程度的绕过。
 
 
作为一个网络层防护软件目标应该是实现0攻击,但是在真实环境中,网络层防御的作用是提高攻击的门槛,因为它要考虑一个叫误报的东西…
 
 
 

 
修复方案:

考虑到各种特殊情况即可 
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论