السلامة مع أمثلة حقيقية هي دائما مثيرة للاهتمام.
اليوم سنتحدث عن هجوم SSRF ، عندما يمكنك إجبار الخادم على تقديم طلبات تعسفية إلى الإنترنت من خلال علامة img.

لذلك ، شاركت مؤخرًا في اختبار الاختراق في وقت واحد في مشروعين ، في اثنين على الفور تم الكشف عن هذه الثغرة الأمنية. تؤخذ لقطات الشاشة مباشرة من التقارير ، وبالتالي يتم تشويه جميع المعلومات غير الضرورية.
وصف الهجوم
اسم الهجوم: يقدم الخادم طلبات تعسفية إلى الإنترنت أثناء إنشاء مستند PDF.
الوصف: يتم إنشاء PDF على جانب الخادم من صفحة أتش تي أم أل المقدمة بالكامل مع جميع الموارد الخارجية. الوثائق الواردة البيانات التي أدخلها المستخدم. بدون التصفية المناسبة ، يمكنك استبدال مواردك الخارجية في تقديم الخادم. في هذه الحالة ، فليكن ملف
it-band.by/10gb.blob (من المفترض أن يكون
حجمه 10 غيغابايت).
السيناريو الأسوأ:- تهاجم Ddos من الداخل عندما يحتاج النظام إلى تنزيل 100 غيغابايت من البيانات لتقديمها لتقديم عدة مستندات PDF في آن واحد. نتيجة لذلك ، يؤدي هذا إلى نقص في موارد الشبكة أو الذاكرة ، مما قد يؤدي بدوره إلى تعطل النظام.
- يمكن لمستخدم ضار استخدام الخادم كنظام أساسي لمهاجمة الموارد الأخرى.
- يحصل المستخدم الضار على عناوين IP الخارجية للخوادم الداخلية للهجمات المباشرة ، متجاوزًا جدران الحماية لتطبيق الويب (WAF) والموازنات.
تقييم المخاطر (الاحتمال * التأثير): متوسط (5) * مرتفع (7) = مرتفع (35) (في كلا النظامين ، تم تصنيف المخاطر على أنها مرتفعة ، ولكن بنسب مختلفة)
ما هو مثير للاهتمام:- استخدم أحد الأنظمة wkhtmltopdf لتقديم html2pdf ، بينما استخدم النظام الثاني Firefox ، وقام بتحميل الصفحة هناك والتقاط لقطة شاشة. في أي حال ، يعرض كلا النظامين على الفور كلتا الصفحتين ، وتنفيذ جميع التعليمات البرمجية هناك ، وبعد ذلك فقط جعل PDF من هذا.
- تم تثبيت حماية خادم XSS على كلا النظامين ، ولكن بدلاً من استخدام الهروب من بيانات الإدخال ، استخدم كلا النظامين تنقية html ، مما أدى إلى مسح جميع iframe والبرامج النصية و css والنماذج وما إلى ذلك. لكن تنقية html في كلا النظامين تعتبر
img src="https://it-band.by/10Gb.blob?t=12345.1"/
كود HTML الآمن.
الآن انتقل من خلال الخطوات والصور
1) قم بعمل مثل هذا الملف محليًا ، في محاولة لملئه لاحقًا كليًا أو جزئيًا.

2) في البداية ، تحتاج إلى العثور على حقول المستخدمين الضعيفة.
النظام 1. فشل في إدراج علامة img واحدة فقط
النظام 2. تمكنت من إدراج حوالي 20 علامات على الفور
3) بعد ذلك ، نقوم بإنشاء وثيقة PDF.
نظام 1. ولدت قوات الدفاع الشعبي
نظام 2. ولدت قوات الدفاع الشعبي
4) والآن ، نتسلق على الخادم الخاص بنا لمعرفة ما إذا كانت هناك طلبات للحصول على ملف 10 جيجا بايت.
النظام 1. نحصل على عنوان IP للخادم والبرنامج الذي تم إنشاء مستند PDF به ، وأظهر nmap منفذًا مفتوحًا آخر ، لم يره أحد من قبل ، من خلال عنوان IP الموجود.
النظام 2. يمكن أن نرى أن الخادم حاول تنزيل 20 ملفًا من 10 غيغا بايت. نحصل أيضًا على عنوان أحد الخوادم وإصدار Firefox المستخدم.
النتيجة. في كلا النظامين ، تم إصلاح الأخطاء بالفعل. في النظام الأول ، بدلاً من تنقية html ، يتم الهروب أثناء معالجة بيانات المستخدم وأثناء إنشاء مستند PDF ؛ في النظام الثاني ، يتم قطع أي روابط مطلقة للموارد الخارجية أثناء معالجة بيانات المستخدم.
المحدثة.
بينما وصلت إلى نشر المقال ، تمت إضافة حالات من نظامين آخرين.نظام آخر (دعنا ندعو النظام 3) لم يجتز التحقق من هذا النوع من الضعف في مكانين في وقت واحد: من خلال HTML Injection و CSS Injection.
النظام 3. حقن Html مع تنزيل 20 مرة من الصورة المباشرة 13 ميجا بايت (في إجمالي 260 ميجا بايت)
نظام 3. CSS حقن
النظام 3. ما الذي نراه على الخادم المهاجمة عند تقديم ملف PDF (جميع التنزيلات العشرون لصورة بحجم 13 ميجابايت ناجحة)
ما هو الناتج لنظام 3:1) حصلت على عناوين الخوادم التي تعرض ، وما الذي يستخدمونه للتقديم. في هذه الحالة ، HeadlessChrome.
2) استغرق إنشاء مستند PDF واحد حوالي 5 دقائق ، ثم انخفض الكروم ببساطة. تخيل أنك إذا قمت بتشغيل 10 آلاف طلب من هذه الطلبات ، فسوف تتوقف خوادم التوليد ، من حيث المبدأ ، عن الاستجابة لطلبات المستخدمين الآخرين.
النظام 4. لم يتم تنفيذ هجوم SSRF هنا من خلال علامة img ، ولكن من خلال XSS ، عندما تم تنفيذ حمولة المفضلة الخاصة بي على الخادم أثناء التقديم وأطلق الخادم كود Javascript التعسفي أثناء إنشاء مستند PDF. مقارنة بالحالات السابقة ، من الممكن تنفيذ هجمات أكثر تعقيدًا على الأنظمة الأخرى.
النظام 4. تم تقديم PDF مع رمز JS التعسفي الذي تم تنفيذه على جانب الخادم
الفرضية 1. تتطلب الأنظمة تطوير ليس فقط قواعد جدار الحماية الوارد ، بل يتطلب أيضًا المنتهية ولايته ، أو تطوير البنية التحتية مع قطاعات أو خوادم منفصلة للشبكة ، والتي لا يمكن الوصول إليها عمومًا بشكل عام.
الفرضية 2. عند العثور على أصغر ثغرة ، يجب عليك دائمًا البحث عن سيناريوهات أسوأ الحالات لاستخدامها وتأثيرها على الأعمال. لا يمكن للأعمال التجارية أن تتعامل إلا مع المخاطر ، والجانب التقني ، لسوء الحظ ، ليس له أهمية تذكر.
يتم توفير المعلومات المذكورة أعلاه فقط للأغراض التعليمية والتعليمية ، وكيفية القيام بأنظمتها ليست ضرورية.
دينيس كولوشكو ، CISSP ، اختبار الاختراق