ثغرات SSRF العمياء:

في هذا القسم، سنشرح ما هو التزوير الأعمى للطلب من جانب الخادم، ونذكر بعض أمثلة SSRF العمياء الشائعة، ونشرح كيفية العثور على ثغرات SSRF العمياء واستغلالها. 

ما هي SSRF العمياء؟ 

تنشأ ثغرات SSRF العمياء عندما يمكن جعل تطبيق يقوم بإصدار طلب HTTP نهائي لعنوان الـ URL المُعطى، لكن استجابة (response) طلب الواجهة الخلفية (back-end) لا تُرجع في استجابة واجهة التطبيق الأمامية (front-end). 

ما هو تأثير ثغرات SSRF العمياء؟ 

غالباً ما يكون تأثير ثغرات SSRF العمياء أقل من ثغرات SSRF ذات الإعلام الكامل نظراً لطبيعتها ذات الاتجاه الواحد. فلا يمكن استغلالها بشكل جانبي للحصول على البيانات الحساسة من الأنظمة الخلفية (back-end)، على الرغم من أنه في بعض الحالات يمكن استغلالها لتحقيق تنفيذ الكود عن بُعد بشكل كامل. 

كيفية البحث عن ثغرات SSRF العمياء و استغلالها: 

الطريقة الأكثر موثوقية للكشف عن ثغرات SSRF العمياء هي استخدام تقنيات خارج النطاق (OAST). يتضمن ذلك محاولة تشغيل طلب HTTP لنظام خارجي تتحكم فيه، ومراقبة تفاعلات الشبكة مع هذا النظام. 

الطريقة الأسهل والأكثر فعالية لاستخدام تقنيات خارج النطاق هي استخدام Burp Collaborator. يمكنك استخدام زبون (client) Burp Collaborator لإنشاء أسماء نطاقات (domain) فريدة وإرسالها ضمن حمولات (payloads) إلى التطبيق ومراقبة أي تفاعل مع هذه النطاقات. إذا لوحظ وجود طلب HTTP وارد قادم من التطبيق، فإنه سيكون عرضة ل SSRF. 

ملاحظة: 

من الشائع عند اختبار ثغرات SSRF مراقبة بحث DNS عن نطاق Collaborator المقدم، دون مراقبة طلب HTTP اللاحق. يحدث هذا عادةً بسبب محاولة التطبيق إنشاء طلب HTTP  إلى ذلك النطاق ، والذي يؤدي إلى البحث الأولي لـ DNS ، ولكن طلب HTTP الفعلي سيكون قد حُجب من خلال الفلترة على مستوى الشبكة. فمن الشائع نسبياً أن تسمح البنية التحتية بحركة مرور الـ DNS الخارجية، نظراً لأن ذلك ضروري للعديد من الأغراض، ولكنها تحجب اتصالات HTTP إلى وجهات غير متوقعة. 

ببساطة، فإن تحديد ثغرة SSRF عمياء التي يمكن أن تؤدي إلى طلبات HTTP خارج النطاق لا يوفر في حد ذاته وسيلة لاستغلال الثغرة. نظراً لأنه لا يمكنك عرض الاستجابة من الطلب الخلفي (back-end) [الطلب المرسل من الواجهة الخلفية] ، فلا يمكن استخدام السلوك لاستكشاف المحتوى على الأنظمة التي يمكن لخادم التطبيق أن يصل إليها. ومع ذلك، لا يزال من الممكن الاستفادة منها في البحث عن الثغرات الأخرى الموجودة على الخادم نفسه أو على الأنظمة الخلفية الأخرى. يمكنك إزالة مساحة عنوان IP الداخلي بشكل أعمى، وإرسال حمولات مصممة لاكتشاف الثغرات المعروفة. إذا كانت هذه الحمولات تستخدم أيضاً تقنيات عمياء خارج النطاق، فقد تكشف ثغرة خطيرة على خادم داخلي لم يتم إصلاحه. 

هناك طريقة أخرى لاستغلال ثغرات SSRF العمياء وهي جعل التطبيق يقوم بالاتصال بنظام خاضع لسيطرة المهاجم، وإرجاع استجابات (responses) ضارة إلى زبون HTTP الذي يقوم بإجراء الاتصال. إذا تمكنت من استغلال ثغرة أمنية خطيرة من جانب الزبون (client) في تنفيذ HTTP  من قبل الخادم (server) ، فقد تتمكن من تحقيق تنفيذ الكود عن بُعد (التنفيذ البعيد للتعليمات البرمجية) ضمن بنية التطبيق الأساسية. 

المصدر: https://portswigger.net/web-security/ssrf/blind