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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SecureCodingDojo — Secure Coding Dojo هي منصة لتقديم المعرفة بالبرمجة الآمنة. | Kitploit
أدوات/GitHubGitHub/owasp/securecodingdojo
تحليل الثغرات الأمنيةتحليل الكودأمن الويبCTFاختبار الاختراقDevSecOpsالمصادقةالتعلم والتعليممختبرات وتدريب عملي
GitHubowasp/securecodingdojo

SecureCodingDojo

Secure Coding Dojo هي منصة لتقديم المعرفة بالبرمجة الآمنة.

عرض المستودع
607159منذ 8 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

حول Secure Coding Dojo

Secure Coding Dojo هي منصة لتقديم التدريب على البرمجة الآمنة. على الرغم من أنها تأتي مع تطبيق تدريب ضعيف خاص بها (موقع Insecure.Inc)، إلا أنه يمكن استخدام بوابة التدريب بالاقتران مع تطبيقات تدريب أخرى. تكمن قوة المنصة في قابلية توسعها وتكاملها مع منصة التعاون التطويري الشائعة Slack. يمكن إعداد بوابة التدريب بسهولة في السحابة، وتتوفر أدناه تعليمات لإعداد AWS Elastic Beanstalk.

تأكد أيضًا من مراجعة الويكي لمزيد من التفاصيل حول نشر وتثبيت Dojo.

عرض توضيحي

قم بتنزيل العرض التوضيحي للتعرف على بوابة التدريب وتطبيق Insecure.Inc.

ألقِ نظرة أيضًا على /screenshots واجهة بوابة التدريب

جرّبها

الخطوات التالية ستمنحك الإعداد الأساسي لـ Dojo. للإعداد المتقدم والتكاملات، راجع الويكي

  • ثبّت أحدث إصدار من Docker.

  • استنسخ المستودع باستخدام Git clone

  • غيّر الدليل إلى المجلد الجذر للمستودع

  • عيّن متغير البيئة DATA_DIR كنقطة تثبيت لملفات Dojo. على أنظمة *nix/نظام Mac، عدّل .bash_profile كالتالي

    export DATA_DIR="/YOUR_DATA_DIR"

  • على Mac، يجب أن تسمح لـ Docker بالوصول إلى هذا الدليل من خلال Docker > Preferences > File Sharing

  • أعد تشغيل الطرفية

  • شغّل باستخدام

    docker-compose up

لماذا موقع آخر للتدريب على الأمان؟

على الرغم من أن مواقع التدريب مفتوحة المصدر لتعليم مفاهيم أمان التطبيقات ليست جديدة، إلا أن الجمهور المستهدف لهذه المواقع كان المختبرين الاختراقيين والقراصنة الأخلاقيين. تم تصميم Secure Coding Dojo بشكل أساسي كمنصة توصيل للمطورين، وإليك السبب:

  • يتكامل مع Slack للمصادقة
  • يسمح بتجميع المشاركين وفقًا لفرق التطوير الخاصة بهم
  • يسمح للفرق بتتبع التقدم والتنافس فيما بينها
  • كل درس مبني كزوج هجوم/دفاع. يمكن للمطورين ملاحظة نقاط ضعف البرنامج من خلال تنفيذ الهجوم، وبعد حل التحدي يتعلمون الدفاعات البرمجية المرتبطة (كتل برمجية)
  • الدروس المعرفة مسبقًا مبنية على أخطر أخطاء البرمجيات وفقًا لـ MITRE (المعروفة أيضًا باسم SANS 25)، لذا يكون التركيز على أخطاء البرمجيات بدلاً من تقنيات الهجوم
  • التحديات الاختراقية المعرفة مسبقًا مصممة للمستوى المبتدئ وتُبقي المطورين منخرطين
    • في مواقع التدريب الأخرى أو مسابقات CTF، يوجد جانب ألغاز في التحديات وهو رائع لجمهور المختبرين الاختراقيين ولكنه قد يجعل بعض المطورين يفقدون الاهتمام. في Secure Coding Dojo، ينصب التركيز على إظهار الثغرة.
    • توجد نصائح تساعد المطورين أثناء استغلال المشكلة لتجنب التعثر

SecureCodingDojo ومتطلبات الامتثال

على الرغم من أننا لا نضمن الامتثال، إلا أن التدريب يمكن استخدامه لتلبية متطلبات الامتثال مثل PCI 6.5.a. راجع مستند منهج Insecure.Inc الخاص بالتخطيط إلى SANS 25 / OWASP Top 10 / PCI 6.5

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

بوابة التدريب

  • ثبّت VS Code
  • node/npm (تم التطوير باستخدام v10)
  • اختياري: خادم MySQL + My SQL Workbench (تم التطوير باستخدام MySQL 5.7)

Insecure.Inc

  • تم تطويره باستخدام Java EE
  • أحدث إصدار من Eclipse Java EE (تم التطوير باستخدام Neon) + Java 1.8 + Tomcat 8 لتطبيق التدريب Insecure.Inc

تعليمات إعداد بيئة التطوير

بوابة التدريب

  • مزيد من التفاصيل في الويكي

Insecure.inc

  • مزيد من التفاصيل في الويكي

البناء

بوابة التدريب

  • شغّل السكربت ./buildTrainingPortal.sh. سيبني صورة Docker وحزمة AWS Elastic Beanstalk

Insecure.Inc

  • انقر بزر الماوس الأيمن على المشروع لتصديره كملف .war وضعه في مجلد /webapps في تثبيت Tomcat 8 الخاص بك.

استضافة Insecure.Inc

اطلع على الويكي.

نشر بوابة التدريب

مزيد من المعلومات في الويكي.

تعليمات إعداد Slack

ستحتاج إلى إنشاء تطبيق Slack للمصادقة.

  • انتقل إلى https://api.slack.com/
  • اضغط على Start Building واتبع التعليمات لإنشاء تطبيق Slack في فريق Slack التطويري لديك
  • بمجرد إنشاء تطبيقك، ستتمكن من الحصول على بيانات اعتماد التطبيق لتكوين ملف config.json
  • قم بتكوين عناوين إعادة التوجيه ضمن OAuth & Permissions. على سبيل المثال، للإعداد المحلي سيكون عنوان إعادة التوجيه: http://localhost:8081/public/slack/callback

تعليمات إعداد Google

يمكن أيضًا تكوين مصادقة Google في ملف config.json. ستحتاج إلى حساب مطور Google والحصول على بيانات اعتماد OAuth من وحدة تحكم Google API: https://console.developers.google.com

في نفس المكان، ستقوم بإعداد نطاقك وعناوين إعادة التوجيه المصرح بها. على سبيل المثال، للإعداد المحلي سيكون عنوان إعادة التوجيه: http://localhost:8081/public/google/callback

تعليمات إعداد المصادقة المحلية

بالنسبة للفرق الصغيرة أو الصور المكوّنة مسبقًا، قد لا تكون مصادقة Slack أو Google خيارًا متاحًا. في هذا السيناريو، يمكنك تكوين مصادقة تعمل مع ملف مسطح محلي.

راجع الويكي لمزيد من المعلومات.

  • انسخ localUsers.json.sample إلى localUsers.json
  • أضف السطر في config.json الذي يحدد localUsersPath
  • هناك عدة تحذيرات بخصوص المصادقة المحلية مثل عدم وجود قفل للحساب، وانتهاء صلاحية كلمة المرور، وما إلى ذلك.

تعليمات إعداد قاعدة البيانات

إذا لم تقم بتكوين قاعدة بيانات، فستستخدم بوابة التدريب قاعدة بيانات SQLite محلية فقط

يمكنك أيضًا تثبيت MySQL وإنشاء قاعدة بيانات وبيانات اعتماد لها. دوّن اسم المستخدم وكلمة المرور، ستحتاج إليهما لاحقًا.

بذور مفاتيح التشفير ومتغيرات البيئة

سيتعين عليك إعداد مفاتيح التشفير كمتغيرات بيئة لنظام التشغيل. على أنظمة *nix/نظام Mac، عدّل .bash_profile كالتالي

root@kitploit:~
export ENC_KEY="put something random here"
export ENC_KEY_IV="put something random here"

ما يلي هو لمنع المشاركين من توليد رموز التحدي الخاصة بهم.

root@kitploit:~
export CHALLENGE_MASTER_SALT="put something random here"

توسيع Secure Coding Dojo

يمكنك إضافة دروس جديدة باتباع نموذج الدروس الموجودة.

التحديات

تُعرَّف التحديات في ./trainingportal/static/lessons يشير ملف definitions.json إلى وصف تحدي html المقابل ورابط التشغيل وكتل البرمجة المقابلة حسب معرف كتلة البرمجة. اتبع الأمثلة المعرفة مسبقًا لإنشاء تحدٍ جديد.

root@kitploit:~
.
+-- /trainingportal/static/lessons
|   +-- modules.json //configuration file where lesson modules are defined
|   +-- /attack-grams //visual representations of attacks included in challenge descriptions
|   +-- /blackBelt //lesson module
|       +--definitions.json //individual lesson definitions
|       +--cwe494.md // html or markdown file including the lesson description
|       +--cwe494.sol.md //solution for the lesson
|       ....
|       +--quiz.html 
|   +-- /secondDegreeBlackBelt

كتل البرمجة

تُعرَّف كتل البرمجة في ./trainingportal/static/codeBlocks. يحتوي هذا المجلد على بنية مشابهة مع ملف تعريف json ومجموعة من ملفات html لكل تحدٍ.

root@kitploit:~
.
+-- /trainingportal/static/codeBlocks
|   +-- codeBlocksDefinitions.json //configuration file where code blocks are defined
|   +-- authenticationByDefault.html //code block description html
|   ...
|   +-- useStrongDataEncryption.html
تنزيل الأداة