CVE:CVE-2005-3745
CNNVD:CNNVD-200511-357
Apache Struts是美国阿帕奇（Apache）软件基金会负责维护的一个开源项目，是一套用于创建企业级Java Web应用的开源MVC框架，主要提供两个版本框架产品，Struts 1和Struts 2。
Struts对用户提交的URL处理上存在几个安全问题，攻击者可能利用这些漏洞对客户端进行攻击。
在试图访问不存在的Struts操作URL时，struts基础架构生成错误响应请求操作的路径。生成这种错误的机制没有执行充分的输入验证，也没有执行输出的HTML编码，导致系统在某些环境中受跨站脚本攻击影响。
通常Struts操作URL格式如下：
http://foo.bar/strdir/action.do
在维护do后缀时如果访问了不存在的操作，如：
http://foo.bar/struts-virtdir/NOSUCHACTION.do
struts请求处理器处理该请求，生成400 Bad Request错误。默认错误响应文中包含以下文本：
Invalid path /NOASUCHACTION was requested
如果用脚本替换不存在的操作，就可能执行跨站脚本攻击。
solution:Upgrade apache struts to a higher version than 1.2.7,and avoid the version 1.2.7