Dubbo爆出严重漏洞!可导致网站被控制、数据泄露!附解决方案

http://dy.163.com/v2/article/detail/F5FPIFRU0511Q1AF.html

  

  来源:华为云

  原文地址:https://www.toutiao.com/a6793181470287462916/

  2020年2月13日,华为云安全团队监测到应用广泛的Apache Dubbo出现一个较为严重的漏洞:反序列化漏洞(漏洞编号:CVE-2019-17564)。攻击者利用该漏洞,可在目标网站上远程执行恶意代码,最终导致网站被控制、数据泄露等。目前,华为云Web应用防火墙(Web Application Firewall,WAF)提供了对该漏洞的防护。

  一、漏洞原理

  Apache Dubbo是一款应用广泛的高性能轻量级的Java 远程调用分布式服务框架,支持多种通信协议。当网站安装了Apache Dubbo并且启用http协议进行通信时,攻击者可以向网站发送POST请求,在请求里可以执行一个反序列化的操作,由于没有任何安全校验,这个反序列化过程可以执行任意代码。这里,序列化是指把某个编程对象转换为字节序列的过程,而反序列化是指把字节序列恢复为某个编程对象的过程。

  二、影响的版本范围

  漏洞影响的Apache Dubbo产品版本包括:2.7.02.7.4、2.6.02.6.7、2.5.x 的所有版本。

  三、防护方案

  1、Apache Dubbo官方建议用户网站升级到安全的2.7.5版本。下载地址如下:

  https://github.com/apache/dubbo/tree/dubbo-2.7.5。

  2、如无法快速升级版本,或希望防护更多其他漏洞,可使用华为云WAF内置的防护规则对该漏洞进行防护,步骤如下:

  1) 购买WAF。

  2) 将网站域名添加到WAF中并完成域名接入。

  3) 将Web基础防护的状态设置为“拦截”模式。

  四、写在最后

  你们公司用的是Dubbo还是SpringCloud?如果用的是Dubbo,又是哪个大版本呢(或者基于哪个大版本深度定制)?

  ———— e n d ————

  金三银四,师长为大家准备了三份面试宝典:

  《java面试宝典5.0》

  《350道Java面试题:整理自100+公司》

  《资深java面试宝典-视频版》

  分别适用于初中级,中高级,以及资深级工程师的面试复习。

  内容包含java基础、javaweb、各个性能优化、JVM、锁、高并发、反射、Spring原理、微服务、Zookeeper、数据库、数据结构、限流熔断降级等等。

  获取方式:点“在看”,V信关注师长的小号:编程最前线并回复面试领取,更多精彩陆续奉上。

  

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )