
JNDI 주입을 가능하게 하는 Hessian 역직렬화 취약점인 Apache Dubbo CVE-2023-23638용 PoC 익스플로잇입니다. 분석 기사를 포함하며 테스트에 ZooKeeper 및 Java 8이 필요합니다.
학습 및 연구 목적으로만 사용
ZooKeeper는 직접 준비
테스트 환경은 Java 8이며, 다른 버전은 아직 테스트하지 않았으므로 작동을 보장할 수 없음
재현 시 DemoComsumer에 VM 매개변수를 추가해야 함: -Ddubbo.hessian.allowNonSerializable=true, 자세한 내용은 https://su18.org/post/hessian/#serializable 참조
분석 글: 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 역직렬화 취약점 분석을 참고하여 직접 역직렬화 이용 방식으로 수정할 수 있다.