ثغرة أمنية في تكوين Nginx مع إعدادات حظر غير صحيحة للاسم المستعار

تظل بعض الخوادم التي تحتوي على nginx عرضة لتقنية Nginx Alias ​​Traversal ، والتي تم اقتراحها في مؤتمر Blackhat في عام 2018 وتسمح بالوصول إلى الملفات والأدلة الموجودة خارج الدليل الجذر المحدد في توجيه "الاسم المستعار". تظهر المشكلة فقط في التكوينات مع توجيه "الاسم المستعار" الموضوعة داخل كتلة "الموقع" ، والتي لا تنتهي المعلمة بحرف "/" ، بينما ينتهي "الاسم المستعار" بـ "/".

ثغرة أمنية في تكوين Nginx مع إعدادات حظر غير صحيحة للاسم المستعار

جوهر المشكلة هو أن ملفات الكتل ذات التوجيه المستعار يتم تقديمها من خلال إرفاق المسار المطلوب ، بعد مطابقته مع القناع من توجيه الموقع واستبعاد جزء المسار المحدد في هذا القناع. للحصول على مثال على تكوين ضعيف الموضح أعلاه ، يمكن للمهاجم أن يطلب الملف "/img../test.txt" وسيتطابق هذا الطلب مع القناع المحدد في الموقع "/ img" ، وبعد ذلك الذيل المتبقي "../ test.txt "سيتم إرفاقه بالمسار من توجيه الاسم المستعار" / var / images / "ونتيجة لذلك سيُطلب الملف" /var/images/../test.txt ". وبالتالي ، يمكن للمهاجمين الوصول إلى أي ملفات في الدليل "/ var" ، وليس فقط الملفات الموجودة في "/ var / images /" ، على سبيل المثال ، لتنزيل سجل nginx ، يمكنك إرسال الطلب "/img../log/ nginx / access.log ".

في التكوينات التي لا تنتهي فيها قيمة توجيه الاسم المستعار بحرف "/" (على سبيل المثال ، "alias / var / images؛") ، لا يمكن للمهاجم التغيير إلى الدليل الأصلي ، ولكن يمكنه طلب دليل آخر في / var الذي يبدأ اسمه بـ المحدد في التكوين. على سبيل المثال ، من خلال طلب "/img.old/test.txt" يمكنك الوصول إلى الدليل "var / images.old / test.txt".

أظهر تحليل المستودعات على GitHub أن الأخطاء في تكوين nginx التي تؤدي إلى المشكلة لا تزال موجودة في المشاريع الحقيقية. على سبيل المثال ، تم تحديد وجود مشكلة في الواجهة الخلفية لمدير كلمات مرور Bitwarden ويمكن استخدامه للوصول إلى جميع الملفات في الدليل / etc / bitwarden (تم إصدار طلبات / المرفقات من / etc / bitwarden / attachments /) ، بما في ذلك قاعدة البيانات المخزنة هناك بكلمات مرور "vault. db" ، وشهادة وسجلات ، والتي كان يكفيها إرسال الطلبات "/attachments../vault.db"، "/attachments../identity.pfx"، "/ attachments ../logs/api.log "، إلخ. P.

ثغرة أمنية في تكوين Nginx مع إعدادات حظر غير صحيحة للاسم المستعار
ثغرة أمنية في تكوين Nginx مع إعدادات حظر غير صحيحة للاسم المستعار

عملت الطريقة أيضًا مع Google HPC Toolkit ، حيث تمت إعادة توجيه / الطلبات الثابتة إلى دليل "../hpc-toolkit/community/front-end/website/static/". للحصول على قاعدة بيانات بمفتاح خاص وبيانات اعتماد ، يمكن للمهاجم إرسال استعلامات "/static../.secret_key" و "/static../db.sqlite3".

ثغرة أمنية في تكوين Nginx مع إعدادات حظر غير صحيحة للاسم المستعار


المصدر: opennet.ru

إضافة تعليق