CVE:CVE-2007-4385
CNNVD:CNNVD-200708-275
"Stinger是开放Web应用安全项目(OWASP)所开发的servlet过滤器，用于提供对用户请求提供集中的输入验证。
OWASP Stinger多部分编码的数据时存在漏洞，远程攻击者可能利用此漏洞绕过数据过滤。
OWASP Stinger假设所传送的请求内容都是form-urlencode编码的，如果应用程序使用的框架从HTTP协议获取内容并自动处理和解析请求的话，这种假设就会导致在向目标应用传输请求期间绕过Stinger过滤。
以下Stinger代码段说明了这个问题(Stinger.java)：
private int checkMalformedParameters(...) {
   ...
   e = request.getParameterNames();
   while(e.hasMoreElements()) {
     ...
   }
   ...
}
如果HTTP请求内容是form-urlencode编码的话，request.getParameterNames()就会返回所有HTTP参数名的枚举。但是，如果请求为多部编码的话，所返回的枚举就会为空，e.hasMoreElements()会返回false，这会导致Stinger没有对多部编码的HTTP请求执行任何输入验证。
如果目标应用程序为纯servlet应用程序的话，Request.getParameter()调用不会返回多部编码的HTTP参数，但Struts之类的框架从应用程序获取HTTP详细信息并自动解析HTTP请求，包括多部编码的请求，然后将多部请求中所提供的输入参数传送给应用程序，而不会考虑参数是通过多部请求提供的还是正常form-urlencode编码请求提供的。由于Stinger没有对多部请求执行任何验证，因此可能会向应用程序提供未转义的和未经验证的数据，导致跨站脚本或SQL注入之类的攻击。
"
solution:Upgrade owasp stinger to a higher version than 2.4,and avoid the version (,2.4]
solution:Upgrade advanced_webhost_billing_system advanced_webhost_billing_system to a higher version than 2.5.1,and avoid the version (,2.5.1]