ما هو ال SSRF

Vulnerabilities
نظرًا لأن تطبيقات الويب الحديثة أصبحت مؤخرا تتمتع بهياكل معقدة ومن المشهور ان يكون مشترك فيها وجود العديد من الخدمات و الاتصال بخوادم مختلفة و هذه الخادمات هي التي تشكل التطبيق أصبح هناك ازدياد في نسبة حدوث او كون النظام مصاب بثغرة ال SSRF
Zayed Yasser
June 12, 2023, 11:45 p.m.
zeyad
ما هو ال SSRF

مقدمة

نظرًا لأن تطبيقات الويب الحديثة أصبحت مؤخرا تتمتع بهياكل معقدة ومن المشهور ان يكون مشترك فيها وجود العديد من الخدمات و الاتصال بخوادم مختلفة و هذه الخادمات هي  التي تشكل التطبيق و توفر للمستخدمين العديد من ميزات المتنوعة، على سبيل المثال ، يمكن أن يكون لديك خدمة مخصصة للعناية بالدفعات وخدمة للإجراءات العمليات في الخلفية و اظهار المنتجات وواخرى من اجل إجراءات المشرف Admin، وخدمات أخرى مواجهة للعميل او المستخدمين للتطبيق, ولذلك أصبح هناك ازدياد في نسب حدوث او كون النظام مصاب بثغرة ال SSRF   (Server-Side Request Forgery) و ذلك ما سوف نتعرف عليه في هذه المقالة إن شاء الله.

ما هو الـ SSRF

هي فئة من الثغرات التي تتيح لك إرسال طلبات من خادم الخارجية إلى أنظمة داخلية او الخلفية بغرض الخادع والتحايل علي الخادم الخارجي والوصول الخوادم الداخلية الممنوع للمستخدم العادي الوصول لها إلا من خلال الخادم الخارجي من أجل طلب خدمات محددة.

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

في سيناريو خبيث يمكن للمتسللين اساءة استخدام هذه "الثقة" لصنع استعلامات بهدف القيام بشيء خبيث. يمكنك صنع طلب على خدمة المشرف وإرسال الطلب إلى الخادم نفسه على localhost أو 127.0.0.1. ونظرًا لأن الطلب يأتي من الخادم نفسه، فهناك ثقة افتراضية، ويتم تنفيذ الطلب.

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

أنواع الـ SSRF

يوجد نوعان من ال SSRF وهما :

  1. Basic SSRF

  2. Blind SSRF

Basic SSRF

هذا هو نوع SSRF الذي يُرجع فيه الخادم المستهدف البيانات إلى المخترق. عندما يقوم المخترق بالهجوم SSRF، فإنه يرسل طلبًا إلى خادم الخارجي. يتم استخدام Basic SSRF عندما يريد المخترق الحصول على بيانات من الخادم أو يريد الوصول إلى ميزات غير مصرح بها. وهو عندما يرسل المخترق طلب معدل بشكل خاص للخادم، ويتم إرجاع بعض البيانات من الخادم المستهدف بعد تنفيذ الطلب.

Blind SSRF

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

الآن بعد أن غطينا ما هي SSRF وكيفية عملها، يجب ان نتحدث عن الجانب الدفاعي ونفهم مدى سوء SSRF بالنسبة لك.

 

مدي خطورة الـ SSRF

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

تسريب و عرض البيانات Data exposure

يستخدم المخترقون SSRF للاستعلام عن الخدمات الداخلية التي يمكن الوصول إليها فقط من خلال الخوادم الموثوقة. إذا كان الخادم في عزلة من هذا النوع، فمن الواضح أنه يحتوي على شيء قيم. كما يمكنك رؤية مضيفات الأسوار النارية (bastion hosts) في الشبكة لإضافة طبقة إضافية من الحماية. يمكن للمخترقين استخدام SSRF لتجاوز مثل هذه القيود والوصول إلى المعلومات الحساسة.

استطلاع على الأنظمة الداخلية Internal Recon

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

تنفيذ كود عن بعد (RCE)

تم تصميم بعض الخدمات الحديثة للتفاعل بها بالكامل باستخدام استعلامات HTTP. وبالتحكم غير المقيد في عنوان URL ، يمكن للمخترق التلاعب بهذه الخدمات والوصول إلى أي شيء ، بما في ذلك تنفيذ الاكواد عن بُعد على الخادم الأساسي (يعد Redis مثالًا مشهورًا على ذلك).

هجوم حجب او انقطاع الخدمة Denial-of-Service attack

غالبًا ما يكون عدد الطلبات الواردة إلى الخوادم الداخلية أقل المعدل المستعد له والقادم إلى الخوادم العامة. لذلك يتم يكون لديها عرض نطاق ترددي أقل (bandwidth). يمكن للمخترقين استخدام SSRF لإرسال عدة طلبات إلى الخوادم الداخلية استغلال هذا (bandwidth) عرض النطاق الترددي الخاص بها، مما يؤدي إلى هجوم انقطاع الخدمة DoS.

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

كيف تتجنب الـ SSRF  

الامر بسيط نوعا ما من جهة تجنب ال SSRF هذا من خلال السماح فقط لمن  تعرف انه امن و عمل حظر لكل ما هو دون ذلك. فلنرض أنك تعلم ان الطلبات من الخادم الخارجي يجب ان تكون ال ip/myproducts اذا لا تسمح بمرور الطلبات للخادم الداخلي إلا الي هذا المكان فقط.

بالمثل، إذا كنت تعرف أي طلبات غير آمنة، فيمكنك حظر جميع الطلبات التي تحتوي على parametars غير آمنة. يمكنك السماح لبقية الطلبات. على سبيل المثال، إذا لم يكن للخادم علاقة بإرسال طلب إلى نفسه، فإن وجود "localhost" أو "127.0.0.1" في parameter ال URL غير آمن، لذلك يمكنك ببساطة حظر مثل هذه الطلبات. هذا يسمى الـ denylisting. ومع ذلك، لدى المخترقين العديد من الحيل لتجاوز الـ denylist (التوجيهات HTTP، تغير عناوين URL، DNS rebinding ، والمزيد). ويفضل الـ (passlisting) إذا كان ذلك ممكنًا.

الخاتمة

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


SSRF BugBount What is SSRF How to prevent SSRF How SSRF work Server Side Reques Forgery