BT

你的观点很重要! 快来参与InfoQ调研吧!

Struts2再爆高危漏洞,解决方案一览

| 作者 马宇静 关注  他的粉丝 发布于 2017年3月10日. 估计阅读时间: 3 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

本文为绿盟科技马宇静投稿。

Apache Struts2作为世界上最流行的Java Web服务器框架之一,3月7日带来了本年度第一个高危漏洞——CVE编号CVE-2017-5638。其原因是由于Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。

Struts作为一个“世界级”开源架构,它的一个高危漏洞危害有多大,下面两张图可以让大家对这个漏洞的影响范围有一个直观认识。

全球互联网上开放的Apache Struts分布

中国互联网上开放的Apache Struts分布

数据来源:绿盟科技威胁情报中心NTI

检测与修复方案

如果您的设备已经检测出存在Struts2漏洞,根据您的具体情况有以下三种解决方式:

1.官方解决方案

官方已经发布版本更新,尽快升级到不受影响的版本(Struts 2.3.32或Struts 2.5.10.1),建议在升级前做好数据备份。

Struts 2.3.32 下载地址:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32

Struts 2.5.10.1下载地址: https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10.1

2. 临时修复方案

在用户不便进行升级的情况下,作为临时的解决方案,用户可以进行以下操作来规避风险:

在WEB-INF/classes目录下的struts.xml 中的struts 标签下添加

<constant name="struts.custom.i18n.resources" value="global" />

在WEB-INF/classes/ 目录下添加 global.properties,文件内容如下:

struts.messages.upload.error.InvalidContentTypeException=1

配置过滤器过滤Content-Type的内容,在web应用的web.xml中配置过滤器,在过滤器中对Content-Type内容的合法性进行检测:

3.技术解决方案

对于没有网络防护设备的企业,可以使用专业厂商的防护设备进行防护;或者使用专业安全厂商的针对性安全服务对已有业务进行漏洞排查和修复。正在使用安全防护设备的企业,目前各大安全厂商都已经推出针对该漏洞的紧急升级包,请及时升级已有防护设备的防护规则和检测规则。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

struts漏洞多 by Li Jiang

还是SpringMVC靠谱,不用struts多年

Re: struts漏洞多 by gongziqi gongziqi

这是新出的漏洞?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT