Apache Struts2 再曝高危漏洞,深信服助您进行本地检测

安全 漏洞
近日,Apache Struts2 发布的最新安全公告S2-029中显示,Struts2 存在远程代码执行漏洞。Struts 2.0.0 – Struts2.3.24.1 版本均受到该漏洞影响。这个漏洞危险级别被定义为高危,漏洞 CVE 编号:CVE-2016-0785。

近日,Apache Struts2 发布的最新安全公告S2-029中显示,Struts2 存在远程代码执行漏洞。Struts 2.0.0 – Struts2.3.24.1 版本均受到该漏洞影响。这个漏洞危险级别被定义为高危,漏洞 CVE 编号:CVE-2016-0785。目前,深信服提供了Apache Struts2 S2-029 远程代码执行漏洞的本地检测方案。

Apache Struts2 再曝高危漏洞,深信服助您进行本地检测

背景介绍

Struts2 是全球使用最广泛的 Javaweb 服务器框架之一。Struts2 是 Struts 的下一代产品,是在 struts1和 WebWork 的技术基础上进行了合并的全新的 Struts2 框架。

之前 S2-005,S2-009,S2-013,S2-016,S2-20 都存在远程命令执行漏洞,使得大量的网站系统遭受入侵。因此,该漏洞一经曝光就在安全圈内引起轩然大波。

漏洞概要

S2-029 漏洞产生原因主要在于,Struts2的标签库使用 OGNL 表达式来访问 ActionContext 中的对象数据,为了能够访问到ActionContext 中的变量,Struts2 将 ActionContext 设置为 OGNL 的上下文,并将 OGNL 的根对象加入 ActionContext 中。

用户可以控制特定标签的属性,通过 OGNL 二次计算可以执行任意命令。例如:

 

parameters:

 

这个标签就调用了 OGNL 进行取值,Struts2 会解析 value 中的值,并当作 OGNL 表达式进行执行。

OGNL第一次计算:

OGNL表达式为 #parameters.msg,计算后得到 parameters的属性,并将其属性值赋值给 value。

OGNL第二次计算:

对上面获取的属性值继续做 OGNL表达式执行。

漏洞检测

深信服提供了Apache Struts2 S2-029 远程代码执行漏洞的本地检测方案:

1、新建文件test.jsp,文件内容如下图所示:

Apache Struts2 再曝高危漏洞,深信服助您进行本地检测

2、将上述test.jsp文件放入网站根目录;

3、打开浏览器访问文件test.jsp,例如:http://www.xxx.com/test.jsp;

4、查看网站服务器 /tmp 目录下是否有sangfor_test文件生成,若有此文件生成,则证明网站存在Apache Struts2 S2-029 远程代码执行漏洞。

该检测方案已在深信服下一代防火墙主页进行实时提醒,如果您未购买下一代防火墙设备,请访问深信服安全中心获取检测工具:

http://sec.sangfor.com.cn/vulns/287.html

修复建议

1、建议用户严格验证新添加的 Struts 标签参数的属性;

2、建议用户将Struts升级至 2.3.26版本;

3、对于暂时无法进行升级的低版本用户,建议修改系统 RestActionMapper.java 源文件,防止 OGNL 表达式多次执行,具体修改方法如下图:

Apache Struts2 再曝高危漏洞,深信服助您进行本地检测

点击以下链接,即可访问深信服安全中心获取检测工具:

http://sec.sangfor.com.cn/vulns/287.html

责任编辑:蓝雨泪 来源: 51CTO.com
相关推荐

2013-07-18 15:09:27

2013-07-18 15:57:42

2013-05-22 10:28:19

2017-07-11 09:42:22

漏洞

2023-12-14 16:20:09

2017-03-08 22:23:02

2014-04-24 16:38:50

2021-12-30 08:36:13

漏洞Apache服务器

2014-04-25 09:43:54

2013-07-18 13:11:07

2013-07-19 09:36:04

struts2struts2漏洞

2017-07-14 13:51:19

2013-07-24 14:06:48

2013-07-22 10:45:56

2016-06-08 10:09:24

2017-09-12 07:54:32

2009-09-14 19:31:36

Struts1和Str

2013-09-11 18:12:10

2022-02-17 11:54:18

漏洞数据库恶意代码
点赞
收藏

51CTO技术栈公众号