
Apache Dubbo CVE-2020-1948 ambiente di test della vulnerabilità, testato personalmente e funzionante.
Quando è comparsa questa vulnerabilità, per verificarne l'impatto abbiamo cercato su Internet diversi esempi preparati da altre persone, ma nessuno permetteva di riprodurla correttamente. Abbiamo quindi creato un ambiente nostro, che condividiamo qui per riferimento. Ogni feedback e contributo è benvenuto!
Questo ambiente è stato realizzato a partire dall'ambiente di esempio ufficiale di Apache Dubbo, correggendo alcuni errori di compilazione presenti nei programmi di esempio ufficiali. Ad esempio:
cd src
mvn package
A compilazione riuscita, nella directory src/target verrà generato il file dubbo.jar.
java -jar target/dubbo.jar
A esecuzione riuscita, il servizio rimane in ascolto sulla porta 12345; è possibile connettersi per testarlo usando il comando telnet.
telnet x.x.x.x 12345
# dubbo> ls -l
# PROVIDER:
# org.apache.dubbo.spring.boot.sample.consumer.DemoService:1.0.0 -> published: N
# 构建
docker build -t dsolab/dubbo:cve-2020-1948 .
# 运行
docker run -p 12345:12345 dsolab/dubbo:cve-2020-1948 -d
或
docker-compose up -d
# 访问
telnet x.x.x.x 12345
Chi vuole usare subito l'ambiente (senza voler compilare) può avviare l'ambiente containerizzato che forniamo con i comandi seguenti:
# 需要安装 Docker 和 docker-compose
docker-compose up -d
Vedi Metodo di verifica della vulnerabilità di deserializzazione Apache Dubbo CVE-2020-1948
https://github.com/apache/dubbo-spring-boot-project/
https://github.com/apache/dubbo/pull/6374
https://www.mail-archive.com/[email protected]/msg06544.html