Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
log4j-log4shell-playground — ملعب لاختبار وسائل التخفيف من ثغرة Log4Shell (CVE-2021-44228) | Kitploit
أدوات/GitHubGitHub/rgl/log4j-log4shell-playground
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubrgl/log4j-log4shell-playground

log4j-log4shell-playground

ملعب لاختبار وسائل التخفيف من ثغرة Log4Shell (CVE-2021-44228)

عرض المستودع
1منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

حول

ساحة تجريب لاختبار التخفيفات الخاصة بثغرة log4j الحرجة (المعروفة باسم Log4Shell) (CVE-2021-44228).

تكمُن هذه المشكلة تحديداً في ميزة JndiLookup وقدرة log4j على تفسير جميع وسائط استدعاء التسجيل.

كنت أتوقع أن تقوم بتفسير رسالة التنسيق فقط (الوسيط الأول في استدعاء التسجيل)، مثل Hello {} في log.info("Hello {}", "${jndi:ldap://127.0.0.1:8081}")، لكنها تفسّر جميع الوسائط.

تعمل التخفيفات على منع log4j من تفعيل عمليات بحث jndi، لكنها ما تزال تسمح بعمليات بحث أخرى مثل ${java:version}.

ملاحظة: منذ log4j 2.16.0 (LOG4J2-3211; diff) لم تعد رسالة التنسيق قابلة للتفسير.

يمكن تفعيل هذه الثغرة عن بُعد عندما يسجّل التطبيق المستهدف أي بيانات يوفّرها المستخدم، على سبيل المثال، من ترويسات HTTP الشائعة التالية:

  • Accept
  • Cookie
  • Location
  • Origin
  • Referer
  • User-Agent
  • X-Api-Version
  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Requested-With

التشغيل (Ubuntu 20.04)

البناء:

root@kitploit:~
sudo apt-get install -y openjdk-11-jdk-headless
wget https://archive.apache.org/dist/logging/log4j/2.10.0/apache-log4j-2.10.0-bin.tar.gz
wget https://archive.apache.org/dist/logging/log4j/2.16.0/apache-log4j-2.16.0-bin.tar.gz
tar xf apache-log4j-2.10.0-bin.tar.gz
tar xf apache-log4j-2.16.0-bin.tar.gz
javac -Werror -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar Server.java

جرّب إصدار log4j ثغري:

root@kitploit:~
java \
    -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar:apache-log4j-2.10.0-bin/log4j-core-2.10.0.jar:. \
    Server
curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
curl -H 'X-Api-Version:${java:version}' http://localhost:8080

جرّب التخفيف عبر إزالة فئة JndiLookup من مسار الفئات (classpath):

root@kitploit:~
cp apache-log4j-2.10.0-bin/log4j-core-2.10.0.jar log4j-core-2.10.0-without-jndi-lookup.jar
zip -q -d log4j-core-2.10.0-without-jndi-lookup.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
java \
    -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar:log4j-core-2.10.0-without-jndi-lookup.jar:. \
    Server
curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
curl -H 'X-Api-Version:${java:version}' http://localhost:8080

جرّب التخفيف عبر متغير البيئة:

ملاحظة منذ 2021-12-15 (تقريباً تاريخ إصدار log4j 2.16.0 / CVE-2021-45046) لم يعد هذا الأسلوب موصى به.

root@kitploit:~
LOG4J_FORMAT_MSG_NO_LOOKUPS=true \
    java \
    -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar:apache-log4j-2.10.0-bin/log4j-core-2.10.0.jar:. \
    Server
curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
curl -H 'X-Api-Version:${java:version}' http://localhost:8080

جرّب إصدار log4j غير ثغري:

root@kitploit:~
java \
    -cp apache-log4j-2.16.0-bin/log4j-api-2.16.0.jar:apache-log4j-2.16.0-bin/log4j-core-2.16.0.jar:. \
    Server
curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
curl -H 'X-Api-Version:${java:version}' http://localhost:8080

جرّب grype لمعرفة ما إذا كان يكتشف الثغرة:

root@kitploit:~
wget https://github.com/anchore/grype/releases/download/v0.27.2/grype_0.27.2_linux_amd64.tar.gz
tar xf grype_0.27.2_linux_amd64.tar.gz grype
./grype dir:.

جرّب trivy لمعرفة ما إذا كان يكتشف الثغرة:

root@kitploit:~
wget https://github.com/aquasecurity/trivy/releases/download/v0.21.2/trivy_0.21.2_Linux-64bit.tar.gz
tar xf trivy_0.21.2_Linux-64bit.tar.gz trivy
./trivy fs --security-checks vuln .

المراجع

  • https://www.lunasec.io/docs/blog/log4j-zero-day-mitigation-guide/
  • https://blog.cloudflare.com/inside-the-log4j2-vulnerability-cve-2021-44228/
  • https://logging.apache.org/log4j/2.x/security.html
  • https://logging.apache.org/log4j/2.x/manual/lookups.html#JndiLookup
تنزيل الأداة