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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
vuln-bank — منصة مصرفية ضعيفة عمدًا لممارسة اختبار أمان تطبيقات الويب وواجهات برمجة التطبيقات (API) والذكاء الاصطناعي/نماذج اللغة الكبيرة (LLM)، ومراجعة أمان الكود، وتكامل DevSecOps من خلال مختبرات عملية واقعية. | Kitploit
أدوات/GitHubGitHub/commando-x/vuln-bank
تحليل الكودأمن الويباختبار الاختراقDevSecOpsالتعلم والتعليمأمن واجهات برمجة التطبيقاتأمن الذكاء الاصطناعيمختبرات وتدريب عمليالأفضل في مختبرات وتدريب عملي #14
GitHub
95834869منذ 10 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
commando-x/vuln-bank

vuln-bank

منصة مصرفية ضعيفة عمدًا لممارسة اختبار أمان تطبيقات الويب وواجهات برمجة التطبيقات (API) والذكاء الاصطناعي/نماذج اللغة الكبيرة (LLM)، ومراجعة أمان الكود، وتكامل DevSecOps من خلال مختبرات عملية واقعية.

عرض المستودعالموقع الإلكتروني

تطبيق البنك القابل للاختراق 🏦

تطبيق ويب قابل للاختراق عن قصد لممارسة اختبار أمان التطبيقات للويب وواجهات برمجة التطبيقات (APIs) ونماذج اللغة الكبيرة (LLMs)، ومراجعة الكود الأمنية، وتنفيذ الأمان في خطوط CI/CD.

⚠️ تحذير: هذا التطبيق قابل للاختراق عن قصد ويجب استخدامه للأغراض التعليمية فقط في بيئات معزولة.

image

نظرة عامة

هذا المشروع هو تطبيق مصرفي بسيط يحتوي على ثغرات أمنية متعددة مدمجة. صُمم لمساعدة مهندسي الأمن والمطورين والمتدربين ومحللي ضمان الجودة (QA) وممارسي DevSecOps على التعرّف على:

  • ثغرات تطبيقات الويب وواجهات برمجة التطبيقات الشائعة
  • ثغرات الذكاء الاصطناعي/نماذج اللغة الكبيرة
  • ممارسات البرمجة الآمنة
  • أتمتة اختبار الأمان
  • تنفيذ DevSecOps

الميزات والثغرات

ميزات الخدمات المصرفية الأساسية

  • 🔐 مصادقة المستخدمين والتفويض
  • 💰 إدارة رصيد الحساب
  • 💸 تحويل الأموال
  • 📝 طلبات القروض
  • 👤 رفع صورة الملف الشخصي
  • 📊 سجل المعاملات
  • 📈 لوحة تحليلات المعاملات (مدعومة بـ GraphQL)
  • 🔑 نظام إعادة تعيين كلمة المرور (رمز PIN من 3 أرقام)
  • 💳 إدارة البطاقات الافتراضية متعددة العملات
  • 💱 تمويل البطاقة الافتراضية من الرصيد الرئيسي بالدولار الأمريكي مع تحويل عملات مدمج (USD, GBP, NGN, JPY, EUR, QAR, BTC, ETH)
  • 🛒 واجهة برمجة تطبيقات عامة لدفع التجار لتكاملات التجارة الإلكترونية/العروض التوضيحية القابلة للاختراق عن قصد
  • 📱 نظام دفع الفواتير
  • 🤖 وكيل دعم عملاء بالذكاء الاصطناعي (نموذج لغوي كبير حقيقي مع DeepSeek API / وضع المحاكاة Mock)

image

الثغرات المنفذة

  1. المصادقة والتفويض

    • حقن SQL في تسجيل الدخول
    • تنفيذ JWT ضعيف
    • تفويض مكسور على مستوى الكائنات (BOLA)
    • تفويض مكسور على مستوى خصائص الكائنات (BOPLA)
    • الإسناد الجماعي والتعرض المفرط للبيانات
    • آلية إعادة تعيين كلمة مرور ضعيفة (رمز PIN من 3 أرقام)
    • تخزين الرمز في localStorage
    • عدم إبطال الرمز من جانب الخادم
    • عدم انتهاء الجلسة
  2. أمان البيانات

    • كشف المعلومات
    • التعرض للبيانات الحساسة
    • تخزين كلمات المرور كنص عادي
    • نقاط حقن SQL
    • كشف معلومات التصحيح
    • كشف رسائل خطأ مفصلة
  3. ثغرات المعاملات

    • عدم التحقق من المبالغ
    • إمكانية تحويلات بمبالغ سالبة
    • عدم وجود حدود للمعاملات
    • حالات سباق في التحويلات وتحديثات الأرصدة
    • كشف معلومات سجل المعاملات
    • عدم التحقق من حسابات المستلمين
  4. عمليات الملفات

    • رفع ملفات غير مقيد
    • ثغرات اجتياز المسار
    • عدم التحقق من نوع الملف
    • اجتياز الدلائل
    • عدم وجود حدود لحجم الملف
    • تسمية ملفات غير آمنة
    • تزوير الطلبات من جانب الخادم (SSRF) عبر استيراد صورة الملف الشخصي استنادًا إلى عنوان URL
  5. إدارة الجلسات

    • ثغرات الرموز
    • عدم انتهاء الجلسة
    • مفاتيح سرية ضعيفة
    • كشف الرموز في عناوين URL
  6. عيوب جانب العميل وجانب الخادم

    • البرمجة النصية عبر المواقع (XSS)
    • تزوير الطلبات عبر المواقع (CSRF)
    • مراجع كائنات مباشرة غير آمنة
    • عدم وجود تحديد لمعدل الطلبات
  7. ثغرات البطاقات الافتراضية

    • الإسناد الجماعي في تحديثات حدود البطاقة
    • الإسناد الجماعي في التعامل مع سعر صرف تمويل البطاقة
    • توليد أرقام بطاقات يمكن توقعها
    • تخزين تفاصيل البطاقة كنص عادي
    • عدم التحقق من حدود البطاقة
    • BOLA في عمليات البطاقة
    • حالات سباق في تحديثات الأرصدة
    • كشف تفاصيل البطاقة
    • عدم التحقق من المعاملات
    • غياب مراقبة نشاط البطاقة
    • تحويل عملات يتحكم فيه العميل أثناء تمويل البطاقة
  8. ثغرات دفع الفواتير

    • عدم التحقق من مبالغ الدفع
    • حقن SQL في استعلامات المفوترين
    • كشف المعلومات في سجل الدفعات
    • أرقام مرجعية يمكن توقعها
    • كشف سجل المعاملات
    • عدم التحقق من حسابات المفوترين
    • حالات سباق في معالجة الدفعات
    • BOLA في الوصول إلى سجل الدفعات
    • غياب حدود الدفع
  9. ثغرات واجهة برمجة تطبيقات دفع التجار

    • كلمات مرور ومفاتيح API للتجار كنص عادي
    • إرجاع مفاتيح API في استجابات التسجيل وتسجيل الدخول
    • قبول رقم البطاقة/رمز CVV الخام من واجهات دفع التجار
    • عمليات بحث عن التجار والبطاقات عرضة لحقن SQL
    • غياب idempotency والحماية من إعادة إرسال الطلبات وحدود الدفع وتحديد معدل الطلبات
    • فجوات في تفويض مستوى الكائنات في البحث عن مدفوعات التجار
    • كشف أسباب رفض الدفع التفصيلية وبيانات التصحيح
    • توليد رموز تفويض يمكن توقعها
  10. ثغرات دعم العملاء بالذكاء الاصطناعي

    • حقن التعليمات (CWE-77)
    • كشف المعلومات القائم على الذكاء الاصطناعي (CWE-200)
    • تفويض مكسور في سياق الذكاء الاصطناعي (CWE-862)
    • كشف معلومات نظام الذكاء الاصطناعي (CWE-209)
    • تحقق غير كافٍ من مدخلات مطالبات الذكاء الاصطناعي (CWE-20)
    • وصول مباشر إلى قاعدة البيانات عبر التلاعب بالذكاء الاصطناعي
    • هجمات تجاوز دور الذكاء الاصطناعي
    • ثغرات حقن السياق
    • وصول غير مصرح به للبيانات بمساعدة الذكاء الاصطناعي
    • كشف مطالبات نظام الذكاء الاصطناعي وإعداداته
  11. ثغرات GraphQL

    • تمكين فحص المخطط (schema introspection) على نقطة نهاية تحليلات المعاملات
    • مصادقة JWT ضعيفة موروثة بواسطة /graphql
    • حقن SQL في بناء استعلامات محلل GraphQL
    • غياب ضوابط العمق/التعقيد في GraphQL
    • كشف أخطاء GraphQL الخام
    • كشف تحليلات المعاملات عبر استعلامات بنطاق المشرف

التثبيت والإعداد 🚀

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

  • Docker و Docker Compose (لإعداد الحاويات)
  • PostgreSQL (عند التشغيل محليًا)
  • Python 3.9 أو أحدث (للإعداد المحلي)
  • Git

الخيار 1: استخدام Docker (موصى به)

استخدام Docker Compose (الأسهل)

  1. استنساخ المستودع:
git clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
  1. تشغيل التطبيق:
docker-compose up -d --build

سيكون التطبيق متاحًا على http://localhost:5000

سلوك التعافي للحاويات

يتضمن إعداد Docker بعض الضمانات التشغيلية حتى يتمكن التطبيق من التعافي دون تدخل يدوي عبر SSH:

  • تستخدم web و db خيار restart: unless-stopped، لذا يعيد Docker تشغيلهما تلقائيًا إذا توقفت العملية.
  • تتيح db فحصًا صحيًا، وتنتظر web جاهزية Postgres قبل البدء.
  • تشغّل web خادم تطوير Flask مع debug=True (عن قصد — للحفاظ على سيناريوهات التدريب التي تستهدف مصحح أخطاء Werkzeug).
  • تعرض web نقطة GET /healthz حتى تتمكن الحاوية من الإبلاغ عما إذا كان التطبيق وقاعدة البيانات قابلين للاستخدام فعليًا.

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

اختبار محلي سريع (Smoke Test)

يمكنك التحقق من إعدادات التشغيل المحلية دون تشغيل حاويات حقيقية:

python3 -m unittest discover -s tests -v

يتحقق هذا من سلوك نقطة نهاية /healthz ويتحقق من أن start.sh ينتظر قاعدة البيانات ثم يشغّل تطبيق Flask. إذا لم تكن تبعيات تطبيق Flask مثبتة في بيئة Python الحالية لديك، فسيتم تخطي اختبار مسار /healthz وسيستمر اختبار سكربت بدء التشغيل في العمل.

استخدام Docker فقط

  1. استنساخ المستودع:
git clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
  1. بناء صورة Docker:
docker build -t vuln-bank .
  1. تشغيل الحاوية:
docker run -p 5000:5000 vuln-bank

الخيار 2: التثبيت المحلي

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

  • Python 3.9 أو أحدث
  • PostgreSQL مثبت ويعمل
  • pip (مدير حزم Python)
  • Git

الخطوات

  1. استنساخ المستودع:
git clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
  1. إنشاء وتفعيل بيئة افتراضية (موصى بها):
# On Windows
python -m venv venv
venv\Scripts\activate

# On Linux/Mac
python3 -m venv venv
source venv/bin/activate
  1. تثبيت الحزم المطلوبة:
pip install -r requirements.txt
  1. إنشاء الدلائل اللازمة:
# On Windows
mkdir static\uploads

# On Linux/Mac
mkdir -p static/uploads
  1. تعديل ملف .env:

    • افتح .env وغيّر DB_HOST من 'db' إلى 'localhost' لاتصال PostgreSQL المحلي.
  2. تشغيل التطبيق:

# On Windows
python app.py

# On Linux/Mac
python3 app.py

متغيرات البيئة

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

تنزيل الأداة