• 本文作者: 冷风
  • |
  • 2017年7月7日
  • |
  • 漏洞预警
  • |

Struts(S2-048)远程命令执行漏洞预警

天融信.阿尔法实验室

一、CVE-2017-9791概要

 

1.1漏洞背景

ApacheStruts2是一个优雅的,可扩展的开源MVC框架,主要用于创建企业级的Java Web应用程序。在Struts 2.3.X系列的Showcase插件中演示Struts2整合Struts 1的插件中存在一处任意代码执行漏洞。当你的Web应用使用了 Struts 2 Struts 1插件, 则可能导致Struts2执行由外部输入的恶意攻击代码。

 

1.2漏洞影响

Apache Struts 2.3.x系列中启用了struts2-struts1-plugin插件的版本

 

二、修复建议

 

2.1影响版本

Apache Struts 2.3.x系列中的Showcase应用

2.2漏洞检测 (检测是否存在漏洞的方法)

检查Struts2框架的版本号

2.3补丁地址

暂无补丁,请升级到最新版Struts2

2.4临时解决方案

2.4.1不启用struts2-struts1-plugin插件

2.4.2建议升级到最新版本2.5.10.1

2.4.3开发者通过使用resource keys替代将原始消息直接传递给ActionMessage的方式。 如下所示

messages.add(“msg”, new ActionMessage(“struts1.gangsterAdded”, gform.getName()));

一定不要使用如下的方式

messages.add(“msg”, new ActionMessage(“Gangster ” + gform.getName() + ” was added”));

Written by 冷风

天融信阿尔法实验室攻防研究