网络安全检测与防护技术
国家地方联合工程研究中心深圳分中心

靶场科普 | Struts2远程命令执行漏洞(CVE-2019-0230)

发表时间:2021-08-26 14:49

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

靶场介绍:

Struts2远程命令执行漏洞(CVE-2019-0230)


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


一、实验介绍

1.漏洞简介

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

2.漏洞概述

1)漏洞编号CVE-2019-0230

Apache Struts框架, 会对某些特定的标签的属性值,比如id属性进行二次解析,所以攻击者可以传递将在呈现标签属性时再次解析OGNL表达式,造成OGNL表达式注入。从而可能造成远程执行代码。

2)该漏洞有三个限制条件:Struts2标签的属性值可执行OGNL表达式、Struts2标签的属性值可被外部输入修改、Struts2标签的属性未经安全验证仅当以上三个条件都满足时,攻击者可以通过构造恶意的OGNL表达式,造成远程命令执行的效果。

二、实验目的

1.掌握Struts2远程命令执行漏洞(CVE-2019-0230)的基本漏洞概述

2.了解漏洞的产生方式

3.了解漏洞修复方式


三、实验步骤

1.打开实验地址,启动环境看到测试界面;

2.访问
http://120.25.24.45:30680/?id=%7B233*233%7D 可以发现233*233的结果被解析到了id属性中。


四、修复建议

升级到Struts 2.5.22或更高版本。或者开启ONGL表达式注入保护措施或者开启ONGL表达式注入保护措施