低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

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

2017 年 3 月 10 日

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

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.技术解决方案

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

2017 年 3 月 10 日 05:0811050

评论

发布
暂无评论
发现更多内容

三分钟搞懂依赖注入

喵叔

API统一管理平台-YApi

雪雷

YAPI API接口管理

SonarQube集成gitlab/jenkins

雪雷

jenkins sonar gitlab ci 代码扫描

Docker Web管理工具

雪雷

Docker shipyard dockerui

Linux系统检查脚本

雪雷

Shell 系统检测

Istio微服务治理笔记(一)

雪雷

istio 服务治理 server mesh

Ceph集群部署

雪雷

分布式存储 Ceph rdb pvc

Jenkins 详解

雪雷

jenkins

等级三整理之深信服

Lane

业务容器化改造

雪雷

Docker 容器 微服务 服务化改造

记一次混合云API发布的反思

雪雷

iptables API api发布

Gitlab CI进阶之共享CI库

雪雷

DevOps gitlab CI/CD gitlab ci

使用null条件运算符调用事件处理程序

喵叔

支付宝蜻蜓刷脸支付

诸葛小猿

支付宝 蜻蜓 刷脸支付

Kubernetes-学习必备(awesome-kubernetes-notes)

雪雷

学习 k8s入门 k8s文档 k8s知识

微服务注册发现配置中心-consul

雪雷

Consul 服务注册与发现 配置中心

微服务API网关-Kong详解

雪雷

kong api 网关

Gitlab CI之单元测试和代码扫描

雪雷

单元测试 CI/CD gitlab ci 代码扫描

RabbitMQ实践

雪雷

RabbitMQ 消息队列

Gitlab Pipeline+Supervisor 实战Python项目CI/CD

雪雷

gitlab jenkins CI/CD Supervisor

记一次混合监控的反思

雪雷

监控 zabbix redis监控 监控宝

Java单例模式一文通

喵叔

GitOps工具Argo CD实战

雪雷

DevOps CI/CD gitops argo cd

微服务链路追踪之Jaeger

雪雷

全链路监控 Jaeger

一文带你检查Kubernetes应用是否为最佳实践

雪雷

k8s k8s最佳实践

Guacamole实战

雪雷

guacamole 远程登录 堡垒机

Python利用sphinx构建个人博客

雪雷

sphinx Blog

K8s可视化监控之-Weave Scope

雪雷

k8s k8s可视化 k8s监控

Prometheus + Grafana详解

雪雷

监控 Grafana Prometheus 告警

玩K8S不得不会的HELM

雪雷

k8s Helm

Jenkins部署Python项目实战

雪雷

Python jenkins CI/CD

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

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