Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-27163-lab — مختبر قائم على Docker يعيد إنتاج ثغرة SSRF CVE-2023-27163 في Request-Baskets، مع التحقق من الاستغلال، وسكربت كشف، ومعالجة عبر عزل الشبكة. | Kitploit
أدوات/GitHubGitHub/amulyakaushik/cve-2023-27163-lab
أدوات دفاعيةأمن الحاوياتتحليل الثغرات الأمنيةالاستغلالأمن الويبأمن الشبكاتاختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHubamulyakaushik/cve-2023-27163-lab

CVE-2023-27163-lab

مختبر قائم على Docker يعيد إنتاج ثغرة SSRF CVE-2023-27163 في Request-Baskets، مع التحقق من الاستغلال، وسكربت كشف، ومعالجة عبر عزل الشبكة.

عرض المستودع
3منذ يوم واحدلم تتم المراجعة بعد

CVE-2023-27163 — مختبر SSRF في Request-Baskets

المشروع: مختبر أبحاث الثغرات وإعادة إنتاجها — CVE-2023-27163
المؤلف: Amulya Kaushik
الدور: مرشح متدرب في مجال البحث والتطوير الأمني السيبراني وتطوير محتوى المختبرات

تزوير الطلبات من جانب الخادم في Request-Baskets ≤ 1.2.1
مختبر بحثي محلي مكتفٍ ذاتيًا لإعادة إنتاج CVE-2023-27163 واكتشافه ومعالجته باستخدام بنية الدفاع في العمق.


ملف تعريف CVE

الحقلالقيمة
معرّف CVECVE-2023-27163
CWECWE-918 — تزوير الطلبات من جانب الخادم (SSRF)
المنتج المتأثرRequest-Baskets
الإصدارات المتأثرة≤ 1.2.1
الإصدار المُصلَّح1.2.2 (المصدر الأصلي) / عزل الشبكة بالدفاع في العمق
درجة CVSS v3.16.5 (متوسطة)
متجه CVSSAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
تعقيد الهجوممنخفض — استدعاء API واحد بدون مصادقة

قيود المصدر الأصلي واستراتيجية المعالجة

ملاحظة حول قيود المصدر الأصلي والمعالجة:
بينما يتتبع CVE-2023-27163 التحقق التعسفي من عنوان URL الأمامي، فإن عمليات بناء الحاويات العامة لـ darklynx/request-baskets لا تفرض تصفية loopback أو الشبكات الفرعية الخاصة بشكل افتراضي. وفقًا لأفضل ممارسات DevSecOps الواقعية، يوضح مختبرنا المعالجة من خلال عزل شبكة الحاويات بالدفاع في العمق. من خلال عزل الواجهات الخلفية الداخلية الحساسة على شبكة Docker داخلية فقط (secure-internal-net مع internal: true)، يتم قطع مسار التمرير، مما يخفف من قابلية استغلال ثغرة SSRF حتى عند تشغيل مُمرِّرات webhook غير موثوقة.


نظرة عامة على بنية المختبر

يوفر هذا المختبر بنيتين منفصلتين لـ Docker Compose:

  1. الإعداد المُعرَّض للثغرة (docker-compose.yml): يتشارك Request-Baskets وخدمة echo داخلية سرية شبكة الجسر lab-net. يتم تعيين Request-Baskets إلى منفذ المضيف 55556 (معيَّن من منفذ الحاوية 55555).
  2. الإعداد المُعالَج (docker-compose.patched.yml): يتم ربط Request-Baskets حصريًا بـ public-net، بينما يتم ربط خدمة echo الداخلية بـ secure-internal-net (internal: true).

البنية المُعرَّضة للثغرة (docker-compose.yml)

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    Docker: lab-net                       │
│                                                         │
│  ┌─────────────────────┐    ┌────────────────────────┐  │
│  │  request-baskets     │───▶│  internal-service      │  │
│  │  (v1.2.1)           │    │  (http-echo:5678)      │  │
│  │  Port 55556 ◀──HOST │    │  NOT exposed to host   │  │
│  └─────────────────────┘    └────────────────────────┘  │
└─────────────────────────────────────────────────────────┘
         ▲
         │  HTTP (port 55556)
         │
    ┌────┴─────┐
    │ Attacker │
    └──────────┘

البنية المُعالَجة (docker-compose.patched.yml)

root@kitploit:~
┌─────────────────────────┐        ┌─────────────────────────┐
│       public-net        │        │   secure-internal-net   │
│                         │        │     (internal: true)    │
│  ┌───────────────────┐  │        │  ┌───────────────────┐  │
│  │  request-baskets   │  │   ✕    │  │ internal-service  │  │
│  │  Port 55556◀─HOST │  │ ──/──▶ │  │ (http-echo:5678) │  │
│  └───────────────────┘  │        │  └───────────────────┘  │
└─────────────────────────┘        └─────────────────────────┘

المتطلبات الأساسية

المتطلبالحد الأدنى للإصدارملاحظات
Docker Engine20.10+بيئة تشغيل المحاكاة الافتراضية للحاويات
Docker Composev2.0+تنسيق متعدد الحاويات
Python3.8+أدوات التحقق والاكتشاف عبر سطر الأوامر

إعداد البيئة الافتراضية لـ Python والتبعيات:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install requests fpdf2

تعليمات خطوة بخطوة

1. تشغيل بيئة المختبر المُعرَّضة للثغرة

ابدأ البيئة المُعرَّضة للثغرة (Request-Baskets v1.2.1 متاح على http://localhost:55556):

root@kitploit:~
docker compose up -d

تحقق من تشغيل كلتا الحاويتين:

root@kitploit:~
docker compose ps

المخرجات المتوقعة:

root@kitploit:~
NAME                         IMAGE                             COMMAND                  SERVICE            STATUS   PORTS
isolated-internal-service    hashicorp/http-echo:latest        "/http-echo -text=CO…"   internal-service   Up       5678/tcp
vulnerable-request-baskets   darklynx/request-baskets:v1.2.1   "/bin/sh -c /bin/ent…"   request-baskets    Up       0.0.0.0:55556->55555/tcp

تأكد من أن الخدمة الداخلية غير قابلة للوصول مباشرة من المضيف:

root@kitploit:~
curl http://localhost:5678 2>&1 || echo "Connection refused — internal service isolated as expected"

2. تنفيذ إعادة إنتاج الثغرة (تسريب البيانات)

نفّذ سكربت التحقق الآلي من SSRF:

root@kitploit:~
python3 scripts/verify_vulnerability.py

ما يحدث:

  1. تستدعي الأداة /api/baskets/ssrf-verification-basket مع تعيين forward_url: "http://internal-service:5678" و proxy_response: true.
  2. ترسل طلب HTTP GET إلى عنوان URL الخاص بالسلة.
  3. تلتقط الحمولة المُمرَّرة CONFIDENTIAL_DATA{INTERNAL_SSRF_DEMONSTRATION_SUCCESS} وتُخرج RESULT: VULNERABLE.
  4. تحذف سلة الاختبار.

3. تنفيذ أداة الاكتشاف الدفاعية

شغّل فحص التدقيق غير التدميري:

root@kitploit:~
python3 scripts/detect.py

ما يحدث:

  1. المرحلة 1: مطابقة بصمات الويب الخاصة بـ Request-Baskets.
  2. المرحلة 2: فحص ما إذا كان تمرير loopback (http://127.0.0.1:80) مقبولًا.
  3. المرحلة 3: الإبلاغ عن AUDIT RESULT: VULNERABLE عند القبول (HTTP 201) وتنظيف سلة الفحص.

4. التبديل إلى المختبر المُعالَج والتحقق من الدفاع

انتقل إلى البنية المُعالَجة المُجزَّأة:

root@kitploit:~
docker compose down
docker compose -f docker-compose.patched.yml up -d
python3 scripts/verify_vulnerability.py

المخرجات المتوقعة:

root@kitploit:~
==============================================================
[✓] REMEDIATION VERIFIED: TARGET SECURED
    The Request-Baskets instance failed to reach the internal
    isolated service (HTTP 502 / Host Unreachable).
    Network segmentation successfully prevented SSRF data exfiltration.
==============================================================

قم بإيقاف البيئة عند الانتهاء:

root@kitploit:~
docker compose -f docker-compose.patched.yml down

الأدلة والتحقق (المُخرَج 3)

يتم الاحتفاظ بمجموعة الأدلة المرئية الكاملة للمُخرَج 3 في دليل evidence/:

تم توثيق الشروحات التفصيلية والأوامر ونصوص وحدة التحكم لكل لقطة شاشة في evidence/README.md.

مشغّل الالتقاط التفاعلي

لالتقاط جميع لقطات شاشة الطرفية بالتسلسل دون متاعب الإعداد اليدوي، شغّل:

root@kitploit:~
./scripts/capture_evidence_flow.sh

تجميع ملف PDF للمدونة التقنية

قم بتجميع التقرير التقني الأكاديمي إلى PDF:

root@kitploit:~
python3 docs/generate_blog_pdf.py

المخرجات المُنشأة: docs/CVE-2023-27163-Technical-Blog.pdf


هيكل المشروع

root@kitploit:~
cve-2023-27163-lab/
├── .gitignore                      # Git artifact exclusions (.venv, cache, OS files)
├── docker-compose.yml              # Vulnerable environment (shared lab-net, port 55556)
├── docker-compose.patched.yml      # Remediated environment (disjoint network isolation)
├── README.md                       # Complete documentation, attribution & guide
├── scripts/
│   ├── capture_evidence_flow.sh    # Interactive runner for capturing screenshots
│   ├── verify_vulnerability.py     # SSRF exploitation & remediation verification CLI
│   └── detect.py                   # Defensive audit and detection tool
├── evidence/
│   └── README.md                   # Formal screenshot evidence walkthrough
└── docs/
    ├── technical_blog.md           # Academic technical write-up (800–1,200 words)
    ├── generate_blog_pdf.py        # Markdown → PDF converter
    └── CVE-2023-27163-Technical-Blog.pdf # Compiled academic report PDF

المراجع والاعتمادات

يستند هذا البحث وتطوير المختبر إلى معايير الأمان المفتوحة وإرشادات البائعين وقواعد بيانات الثغرات:

  1. قاعدة بيانات الثغرات الوطنية NIST (NVD):
    تفاصيل CVE-2023-27163 — درجة CVSS v3.1 الأساسية 6.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).
  2. تعداد نقاط الضعف الشائعة MITRE (CWE):
    CWE-918: تزوير الطلبات من جانب الخادم (SSRF).
  3. مستودع المشروع الأصلي والمصدر:
    darklynx/request-baskets (GitHub) — خدمة ويب Request Baskets.
  4. مؤسسة OWASP:
    ورقة الغش للوقاية من تزوير الطلبات من جانب الخادم.

إخلاء المسؤولية

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

تنزيل الأداة
العنصرالغرضرابط الملفالوصف
لقطة الشاشة 1البيئة قيد التشغيل01_lab_running.pngتُظهر تشغيل vulnerable-request-baskets (المنفذ 55556) و isolated-internal-service في وقت واحد على lab-net.
لقطة الشاشة 2استغلال SSRF02_reproduction_ssrf.pngتعرض العلم المُسرَّب CONFIDENTIAL_DATA{...} وحالة VULNERABLE.
لقطة الشاشة 3أداة الاكتشاف الدفاعية03_detection_tool_run.pngتعرض فحص البصمات ثنائي المرحلة وتدقيق loopback الذي يشير إلى VULNERABLE.
لقطة الشاشة 4التحقق من المعالجة04_remediation_verified.pngتُثبت فشل التمرير (HTTP 502 / Host Unreachable) تحت دفاع الشبكة المُجزَّأة.
لقطة الشاشة 5تكوين واجهة الويب05_web_ui_ssrf.png(إضافي) لقطة متصفح لإعدادات واجهة Request-Baskets المُكوَّنة مع Proxy Response.