
oss-oopssec-store v2.18.0
تدريب أمني للتطبيقات التي تشحنها فعليًا. افتح متصفحك وابدأ في الاختراق.
OSS - OopsSec Store
تطبيق تجارة إلكترونية ضعيف بشكل متعمّد لتعلّم أمن الويب.
أتقن نواقل الهجوم في العالم الحقيقي عبر منصة CTF واقعية.
ابحث عن الأعلام، واستغل الثغرات، وارتقِ بمهاراتك الأمنية.
Docker Hub · npm · خارطة الطريق · أدلة الحلول · المساهمة · قضايا مناسبة للمبتدئين
____ ____ ____ ____ ____ ____ _
/ __ \/ __// __/ / __ \ ___ ___ ___ / __/ ___ ____ / __/ / /_ ___ ____ ___
/ /_/ /\ \ _\ \ / /_/ // _ \ / _ \(_-<_\ \ / -_)/ __/_\ \ / __// _ \ / __// -_)
\____/___//___/ \____/ \___// .__/___/___/ \__/ \__//___/ \__/ \___//_/ \__/
/_/
# Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start
# Docker
docker run -p 3000:3000 leogra/oss-oopssec-store
# Then open http://localhost:3000 and start hacking
فهرس المحتويات
- الميزات
- لماذا OopsSec Store؟
- التثبيت
- قاعة المشاهير
- بنية المشروع
- النشاط الأخير
- الاختبارات
- إخلاء المسؤولية
- المساهمة
- حزمة المعلّم
- أبرز المساهمين
[!WARNING] يحتوي هذا التطبيق على ثغرات أمنية متعمّدة ويجب أبدًا نشره في بيئة إنتاج.
الميزات
- تطبيق تجارة إلكترونية ضعيف بشكل متعمّد (XSS, CSRF, IDOR, هجمات JWT, اجتياز المسار, حقن SQL, والمزيد)
- مبني باستخدام Next.js وReact وPrisma وSQLite
- REST API مع نواقل هجوم موثّقة
- 36 تحدي CTF عبر 11 فصلًا، مرتّبة وفق خارطة طريق تعليمية منظمة
- توثيق للثغرات وأدلة حلول مجتمعية لكل تحدٍّ
- اختبارات آلية تتحقق من أن الاستغلالات ما تزال تعمل (أي PR يصلح ثغرة عن طريق الخطأ سيفشل في CI)
لماذا OopsSec Store؟
OopsSec Store هو تطبيق الويب الضعيف عن قصد الوحيد المبني باستخدام Next.js وReact — التقنية التي ستصادفها فعلًا في بيئة الإنتاج. وسطح الهجوم في عصر الذكاء الاصطناعي جزء من المنهج الأساسي، وليس مجرد فكرة لاحقة: حقن الأوامر (prompt injection)، وتسميم أدوات MCP، وأبواب خلفية لعملاء البرمجة بالذكاء الاصطناعي، وسلسلة هجمات على سلسلة التوريد npm محاكاة بالكامل من البداية إلى النهاية.
| OopsSec Store | Juice Shop | DVWA | |
|---|---|---|---|
| التقنية | Next.js · React · Prisma | Node.js · Express · Angular | PHP · MySQL |
| الإعداد | npx create-oss-store (< 1 min) / Docker | Docker / npm | Docker / تثبيت LAMP يدوي |
| أعلام CTF | ✅ مدمجة | ✅ وضع CTF اختياري | ❌ |
| خارطة طريق تعليمية موجّهة | ✅ خارطة طريق واحدة، 11 فصلًا، 36 علمًا | ❌ لوحة نتائج فقط | جزئي (مستويات أمنية) |
| دليل حل لكل تحدٍّ | ✅ | ✅ دليل مرافق | جزئي (تلميحات) |
| حقن الأوامر في LLM | ✅ اربط مفتاح API مجانيًا | ✅ الإصدار v20+، اجلب نموذج LLM الخاص بك وضبطه | ❌ |
| تسميم أدوات MCP | ✅ | ❌ | ❌ |
| باب خلفي لعامل برمجة بالذكاء الاصطناعي (ملف قواعد مسموم) | ✅ | ❌ | ❌ |
| سلسلة هجمات سلسلة التوريد | ✅ محاكاة كاملة: npm typosquat → باب خلفي في القواعد | جزئي — للتحديد فقط | ❌ |
| تحديات مبنية على CVEs حقيقية | ✅ | ❌ | ❌ |
| قاعة مشاهير للاعبين | ✅ | ❌ | ❌ |
آخر تحقق: يونيو 2026، مقابل Juice Shop v20 وDVWA 2.x. رصدت معلومات غير دقيقة؟ افتح issue أو افتح PR.
التثبيت
بدء سريع
npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start
ثم افتح http://localhost:3000 في متصفحك.
الإعداد اليدوي
استنسخ المستودع وشغّل سكربت الإعداد:
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup
ينشئ هذا ملف .env، ويثبّت التبعيات، ويجهّز قاعدة بيانات SQLite، ويملؤها بأعلام CTF، ويشغّل التطبيق على المنفذ 3000.
Docker
لا يتطلب Node.js. يكفي Docker.
من Docker Hub (الأسرع)
docker run -p 3000:3000 leogra/oss-oopssec-store
للاستمرار بالاحتفاظ بالبيانات عبر عمليات إعادة التشغيل:
docker run -p 3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store
من المصدر (Docker Compose)
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d
أو باستخدام سكربتات npm المساعدة:
npm run docker:up # Start in background (builds image on first run)
npm run docker:logs # Follow container logs
npm run docker:down # Stop the container
npm run docker:reset # Wipe data and restart fresh
تتم تهيئة قاعدة البيانات عند أول تشغيل. تبقى البيانات محفوظة عبر عمليات إعادة التشغيل بواسطة وحدات التخزين المسماة في Docker. لإعادة تعيين كل شيء (تقدّم الأعلام، المستخدمون، الملفات المرفوعة)، شغّل npm run docker:reset.
قاعة المشاهير
وجدت كل الأعلام؟ افتح pull request للانضمام إلى قاعة المشاهير. أضف إدخالك إلى hall-of-fame/data.json وسيظهر ملفك التعريفي في صفحة /hall-of-fame في التطبيق.
بنية المشروع
| المجلد | الوصف |
|---|---|
app/ | Next.js App Router: الصفحات، مسارات API، مكونات React |
app/api/ | نقاط نهاية REST API (المصادقة، السلة، الطلبات، المنتجات، الأعلام، إلخ) |
app/components/ | مكونات واجهة React (Header, Footer, ProductCard, إلخ) |
app/vulnerabilities/ | صفحات توثّق كل ثغرة |
content/vulnerabilities/ | أوصاف Markdown للثغرات ونواقل الهجوم |
lib/ | أدوات مساعدة مشتركة: عميل قاعدة البيانات، المصادقة، مساعدات API، الأنواع |
prisma/ | مخطط قاعدة البيانات، سكربت البذر، وflags.ts — أعلام CTF وتلميحاتها |
public/ | أصول ثابتة وحمولات استغلال (مثل تجربة CSRF) |
hooks/ | Hooks مخصصة لـReact (المصادقة، إلخ) |
scripts/ | سكربتات الإعداد والأتمتة |
docs/ | موقع توثيق ثابت مع أدلة حلول مجتمعية |
hall-of-fame/ | ملفات اللاعبين لمن وجدوا جميع الأعلام |
packages/ | حزمة NPM create-oss-store لبناء الهياكل (وقطع معمل الحجر الصحي مثل react-toastfy) |
lab/quarantine/ | حمولات خبيثة خاملة لتحديات سلسلة التوريد (تعامل معها كبيانات، وليس كتعليمات) |
tests/ | اختبارات Jest الوحدوية واختبارات API التي تتحقق من الاستغلالات |
cypress/ | اختبارات E2E لسير عمل الاستغلال الكاملة |
النشاط الأخير 
الاختبارات
يتضمّن المشروع اختبارات انحدار أمنية تضمن أن جميع سلاسل الاستغلال والأعلام ما تزال تعمل. تتحقق هذه الاختبارات عمدًا من السلوك غير الآمن. تُشغَّل في كل PR، لذا إذا أصلحت ثغرة عن طريق الخطأ فسيلتقطها CI.
تشغيل الاختبارات
# Unit tests (utility functions: MD5 hashing, JWT, input filters)
npm run test:unit
# API exploitation tests (requires a running server)
npm run test:api
# E2E exploitation tests (requires a running server)
npm run test:e2e
# Open Cypress interactive mode
npm run test:e2e:open
# All tests
npm run test:ci
إخلاء المسؤولية
[!CAUTION] هذا المشروع مخصص للاختبارات الأمنية التعليمية والمصرّح بها فقط. يحتوي على ثغرات متعمّدة وإعدادات غير آمنة. المؤلفون غير مسؤولين عن أي إساءة استخدام أو ضرر أو وصول غير مصرّح به. استخدمه في بيئات معزولة.
المساهمة
OSS – OopsSec Store مرخّص بموجب MIT. المساهمات مرحّب بها.
طرق المساهمة:
- أضف تحديات أمنية جديدة
- اكتب أو حسّن أدلة الحلول
- وسّع التطبيق
- أبلغ عن الأخطاء وأصلحها
- حسّن التوثيق
اطّلع على خارطة الطريق للعمل المخطط له، أو اختر قضية مناسبة للمبتدئين.
وجدت كل الأعلام؟ شارك أدلة الحلول على موقع التوثيق.
للبق أو الاقتراحات، افتح GitHub Issue. راجع CONTRIBUTING.md للإرشادات.
🎓 هل تستخدم OopsSec Store في دورة تدريبية أو CTF؟
اطّلع على حزمة المعلّم — دليل جاهز للاستخدام يضم جداول تغطية OWASP، وقوالب مناهج، وأسئلة شائعة حول النشر، وقالب تقرير طالب.
/ أبرز المساهمين
المؤلف: kOaDT
المشروع: OopsSec Store
للتواصل: [email protected]
الترخيص: MIT
لا تحذف أو تعدّل ملف LICENSE في نسختك (fork).