# CVE-2023-23638
仅供学习研究
ZooKeeper 自备
测试环境为 Java 8, 其它版本尚未测试, 不保证可用性
复现时需要为 DemoComsumer 添加 VM 参数: `-Ddubbo.hessian.allowNonSerializable=true`, 详情参考 [https://su18.org/post/hessian/#serializable](https://su18.org/post/hessian/#serializable)
分析文章: [https://exp10it.io/2023/03/apache-dubbo-cve-2023-23638-%E5%88%86%E6%9E%90/](https://exp10it.io/2023/03/apache-dubbo-cve-2023-23638-%E5%88%86%E6%9E%90/)
POC 的本质是利用某个 class 修改 properties 以绕过限制, 代码给的是 JNDI 注入, 可以参考 [CVE-2023-23638 Apache Dubbo JavaNative反序列化漏洞分析](https://mp.weixin.qq.com/s?__biz=Mzg3OTcyNjM1MQ==&mid=2247483788&idx=1&sn=7954ad20fec203469a13a09050536a1c) 自行修改成反序列化的利用方式
[4.0K] /data/pocs/c9d8d86a9e870be0708f977b089170f8deb9cb0d
├── [4.5K] pom.xml
├── [ 822] README.md
└── [4.0K] src
└── [4.0K] main
├── [4.0K] java
│ └── [4.0K] org
│ └── [4.0K] apache
│ └── [4.0K] dubbo
│ └── [4.0K] samples
│ ├── [4.0K] api
│ │ └── [ 107] HelloService.java
│ ├── [2.2K] DemoConsumer.java
│ ├── [ 496] DemoProvider.java
│ └── [4.0K] impl
│ └── [ 233] HelloServiceImpl.java
└── [4.0K] resources
├── [1.1K] log4j.properties
└── [4.0K] spring
├── [1.8K] generic-type-consumer.xml
└── [1.8K] generic-type-provider.xml
11 directories, 9 files