
بيئة اختبار لثغرة Apache Dubbo CVE-2020-1948، تم اختبارها شخصيًا وهي قابلة للاستخدام.
في بداية ظهور هذه الثغرة، ومن أجل التحقق من خطورتها، بحثنا في الإنترنت عن أمثلة جمعها العديد من الأشخاص، فلم نجد أي مثال يمكنه التحقق من الثغرة بنجاح. لذلك أعددنا واحدًا بأنفسنا ووضعناه هنا للرجوع إليه، ونرحب بالتواصل!
تم بناء هذه البيئة بالاعتماد على بيئة الأمثلة الرسمية لـ Apache Dubbo مع إجراء تعديلات عليها، وقمنا بتصحيح بعض أخطاء البناء (Compile) التي تظهر في برنامج الأمثلة الرسمي. على سبيل المثال:
cd src
mvn package
بعد نجاح البناء، سيتم إنشاء ملف dubbo.jar في مجلد src/target.
java -jar target/dubbo.jar
بعد نجاح التشغيل، يتم الاستماع على المنفذ 12345، ويمكن استخدام الأمر 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
من يريد استخدام البيئة بسرعة (دون عناء بناء البيئة) يمكنه استخدام الأمر التالي لتشغيل بيئة الصورة التي نوفّرها:
# 需要安装 Docker 和 docker-compose
docker-compose up -d