本文由“网络安全检测与防护技术国家地方联合工程研究中心深圳分中心——东塔网络安全学院”总结归纳

靶场介绍:

Struts2远程命令执行漏洞(CVE-2018-11776)

今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“Struts2远程命令执行漏洞(CVE-2018-11776)”。

一、实验介绍

1.漏洞描述

S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到xml上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码,以及系统命令到服务器系统中去 。

2.漏洞影响版本

Apache struts 2.3-Apache struts 2.3.34

Apache struts 2.5-Apache struts 2.5.16

二、实验目的

1.了解Struts2远程命令执行漏洞(CVE-2018-11776)概述

2.了解Struts2远程命令执行漏洞(CVE-2018-11776)的产生方式

3.掌握检测修复Struts2远程命令执行漏洞(CVE-2018-11776)洞技术

三、实验步骤

1.打开实验连接,查看环境,输入url检测是否存在该漏洞;

2.进行漏洞利用,在url构造ognl表达式,再加上配置文件中的action标签中的name属性值,并以.action结尾;

3.浏览器进行访问。

四、修复建议

1.官方提供的临时解决方案:当上层动作配置中没有设置或使用通配符namespace时,验证所有XML配置中的namespace,同时在JSP中验证所有url标签的value和action。

2.建议升级版本。