安全研究

安全漏洞
Apache Struts错误响应跨站脚本漏洞

发布日期:2005-11-21
更新日期:2006-01-11

受影响系统:
Apache Struts 1.2.7
RedHat Application Server 3WS - noarch
RedHat Application Server 3ES - noarch
RedHat Application Server 3AS - noarch
不受影响系统:
Apache Struts 1.2.8
描述:
BUGTRAQ  ID: 15512
CVE(CAN) ID: CVE-2005-3745

Struts是用于构建Web应用的开放源码架构。

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

如果用脚本替换不存在的操作,就可能执行跨站脚本攻击。

<*来源:Irene Abezgauz
  
  链接:http://www.hacktics.com/AdvStrutsNov05.html
        http://lwn.net/Alerts/167482/?format=printable
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

/struts-virtdir/<script>alert('test')</script>.do

建议:
厂商补丁:

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2006:0157-01)以及相应补丁:
RHSA-2006:0157-01:Low: struts security update for Red Hat Application Server
链接:http://lwn.net/Alerts/167482/?format=printable

Apache
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Apache Software Foundation struts-1.2.8-src.tar.gz
http://struts.apache.org/download.cgi

浏览次数:4310
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障