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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
JavaSecLab — مختبر شامل لثغرات Java يتضمن كوداً مصاباً وكوداً مُصلحاً، وسيناريوهات هجوم، وملاحظات تدقيق المصدر/المصب، وإرشادات الترميز الآمن للتدريب الأمني وتقييم الأدوات. | Kitploit
أدوات/GitHubGitHub/whgojp/javaseclab
تحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةتحليل الكودأمن الويبCTFاختبار الاختراقDevSecOpsالتعلم والتعليممختبرات وتدريب عملي
GitHubwhgojp/javaseclab

JavaSecLab

مختبر شامل لثغرات Java يتضمن كوداً مصاباً وكوداً مُصلحاً، وسيناريوهات هجوم، وملاحظات تدقيق المصدر/المصب، وإرشادات الترميز الآمن للتدريب الأمني وتقييم الأدوات.

881777منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

JavaSecLab - مختبر شامل لثغرات Java

License Java Version Developed by whgojp GitHub Repo stars GitHub forks

中文文档


نظرة عامة

JavaSecLab هو مختبر شامل لثغرات Java مخصص لتعلم أمن التطبيقات، وممارسة تدقيق الكود، والتدريب على التطوير الآمن، وتقييم أدوات الأمان. بُني على Spring Boot، ويوفر كوداً يحتوي على ثغرات، وتطبيقات مُصلحة، وسيناريوهات هجوم واقعية، وملاحظات تدقيق موجّهة للمصادر ونقاط الحقن (source and sink)، وإرشادات المعالجة، وشرحاً للترميز الآمن، وأمثلة لتحليل حركة المرور.

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

home

show

لمن هذا المشروع؟

  • فرق الخدمات الأمنية: لشرح أسباب الثغرات، ومسارات الاستغلال، والإصلاحات، ومسارات التدقيق، وأنماط حركة المرور.
  • فرق الأمن في المؤسسات: لاستخدامه في SDL وDevSecOps والتدريب على التطوير الآمن وبرامج التوعية الأمنية.
  • الباحثون الأمنيون: لاختبار أدوات SAST وDAST وIAST وRASP وSCA وxAST وتحليل قابلية الوصول وغيرها من أدوات الأمان.
  • مطورو Java: لتعلّم مشكلات أمن التطبيقات الشائعة من كود حقيقي بدلاً من قوائم تحقق مجردة.

وحدات الثغرات

يغطي JavaSecLab مجموعة واسعة من سيناريوهات أمان تطبيقات الويب في Java، بما في ذلك:

  • XSS وCSRF وCORS وJSONP وإعادة توجيه URL وانتحال XFF وهجمات حجب الخدمة وحقن XPath
  • حقن SQL وقراءة/رفع/تنزيل/حذف الملفات بشكل عشوائي وSSRF وXXE وRCE
  • عيوب منطق الأعمال: IDOR وأمان CAPTCHA وأمان الدفع وأمان التزامن
  • الكشف عن المعلومات الحساسة ومواجهة تسجيل الدخول وتوقيع الطلبات وأمان بيانات اعتماد JWT
  • حقن SpEL وSSTI وإلغاء تسلسل Java
  • حالات Fastjson وJackson وXStream وLog4j2 وShiro وSnakeYAML وXMLDecoder وغيرها من المكوّنات/النظم البيئية
  • تعرّض نظام Spring Boot البيئي: Swagger وActuator وDruid وإلغاء تسلسل MySQL JDBC والمزيد

العرض التجريبي المباشر

موقع العرض التجريبي: http://whgojp.top/

الحساب الافتراضي: admin/admin

JavaSecLab مصمم عمداً ليكون قابلاً للاستغلال ويحتوي على نقاط نهاية خطيرة وتبعيات بها ثغرات وإعدادات غير آمنة. شغّل نسختك الخاصة فقط في بيئة معزولة. لا تعرّضه مباشرةً للإنترنت العام.

لماذا وُجد هذا المشروع

عمل المؤلف في أدوار أمنية داخل المؤسسات وخاض دورة حياة الثغرة كاملة. بعد اختبارات الاختراق أو تقييمات الأمان، غالباً ما تُسند الثغرات إلى فرق التطوير عبر أنظمة مثل TAPD أو Jira. وعملياً، يتكرر طرح سؤالين:

  1. لماذا يُعد هذا السلوك ثغرة؟
  2. كيف ينبغي إصلاح هذه الثغرة؟

أُنشئ JavaSecLab لربط سلوك الثغرة بالكود المصاب بأساليب المعالجة وتفكير التدقيق. وبالمقارنة مع تقرير نصي فقط أو PoC، يركّز المشروع على فهم الثغرات من منظور الكود.

في تدقيق الكود، يكون سير العمل الشائع هو تحديد نقطة الحقن (sink) أولاً، مثل تنفيذ الأوامر أو تنفيذ SQL أو الوصول إلى الملفات أو عرض القوالب أو إلغاء التسلسل أو إخراج الاستجابة. ثم يتتبع المدقق عكسياً لتحديد المصدر (source) المقابل، مثل معاملات الطلب أو الترويسات أو ملفات تعريف الارتباط أو الملفات المرفوعة أو البيانات المتسلسلة أو محتوى قاعدة البيانات. صُممت العديد من سيناريوهات JavaSecLab حول مسار المصدر إلى نقطة الحقن هذا، مما يجعلها مفيدة للتعلّم والتحقق من الأدوات معاً.

غالباً ما يظهر نفس نوع الثغرة عبر مسارات تشغيل متعددة في الأنظمة الحقيقية. لذلك يوفر JavaSecLab سيناريوهات متعددة لفئات الثغرات الأساسية حيثما أمكن، ليتمكن المستخدمون من مقارنة كيفية تأثير أنماط الترميز المختلفة وميزات الأطر وسير الأعمال على المخاطر.

تحليل حركة المرور

يتضمن JavaSecLab أمثلة لتحليل حركة مرور الثغرات لمساعدة المتعلمين على ربط سلوك الطلب/الاستجابة بتنفيذ الكود. نرحّب بالمساهمات التي تتضمن حزماً أوضح أو ملاحظات إعادة إنتاج أفضل أو أمثلة تحليل إضافية.

flow1

على سبيل المثال، في سيناريو حقن SQL المعتمد على الوقت، يمكن ملاحظة نمط حركة المرور من خلال زمن استجابة الخادم: يستجيب الخادم بعد نحو خمس ثوانٍ.

flow2

المكدس التقني

  • Spring Boot
  • Spring Security
  • MyBatis / MyBatis-Plus
  • JPA / Hibernate
  • Thymeleaf
  • Layui
  • MySQL

النشر

استنسخ المستودع:

root@kitploit:~
git clone https://github.com/whgojp/JavaSecLab.git
cd JavaSecLab

git clone

النشر المحلي باستخدام IDEA

المتطلبات:

  • JDK 8
  • MySQL 8.0+
  • Maven
  1. أنشئ قاعدة البيانات واستورد sql/JavaSecLab.sql.

  2. اضبط الملف التعريفي النشط على dev في src/main/resources/application.yml:

    root@kitploit:~
    spring:
      profiles:
        active: dev
    
  3. حدّث اتصال قاعدة البيانات في src/main/resources/application-dev.yml:

    root@kitploit:~
    username: root
    password: QWE123qwe
    url: jdbc:mysql://localhost:13306/JavaSecLab?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true
    
  4. شغّل التطبيق من IDEA أو باستخدام Maven.

الحساب الافتراضي: admin/admin

login

النشر باستخدام Docker

المتطلبات:

  • Docker
  • Docker Compose

الخيار 1: التشغيل باستخدام الصورة المنشورة:

root@kitploit:~
docker compose -f docker-compose.image.yml up -d

الخيار 2: بناء الصورة محلياً وتشغيل المختبر:

root@kitploit:~
mvn clean package -DskipTests
docker compose -p javaseclab up -d

إذا كانت قاعدة البيانات فارغة بعد التشغيل، فاستورد sql/JavaSecLab.sql يدوياً.

docker deployment

docker deployment

لمزيد من خيارات النشر وملاحظات استكشاف الأخطاء وإصلاحها، راجع دليل النشر.

تنبيه أمني

JavaSecLab هو مشروع مختبر يحتوي على ثغرات. يحتفظ عمداً بنقاط نهاية خطيرة وتبعيات بها ثغرات وإعدادات غير آمنة لأغراض إعادة الإنتاج والتعليم. شغّله فقط محلياً أو في شبكة معزولة.

الاحتياطات الموصى بها:

  • لا تنشر JavaSecLab مباشرةً على شبكة عامة.
  • استخدم حسابات مؤقتة وقواعد بيانات اختبار وحاويات معزولة.
  • لا تُوصّل أدلة مضيف حساسة بالحاوية.
  • راجع المنافذ المكشوفة قبل تشغيل Docker Compose.
  • تعامل مع الملفات المرفوعة والملفات المُنشأة والسجلات كبيانات غير موثوقة.

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

المساهمة

نرحّب بالمشكلات وطلبات السحب. تشمل المساهمات الجيدة:

  • سيناريوهات ثغرات جديدة مع كود مصاب وكود مُصلح واضحين
  • ملاحظات أدق للمصادر/نقاط الحقن وشروح لتدقيق الكود
  • حزم حركة مرور أفضل للثغرات وملاحظات تحليل
  • إصلاحات النشر وتحسينات التوثيق
  • تحسينات واجهة المستخدم والتفاعل تجعل المختبر أسهل في التدريس

الترخيص

عندما نتحدث عن البرمجيات الحرة، فإننا نشير إلى الحرية وليس السعر.

يُصدر JavaSecLab بموجب Apache License 2.0. راجع LICENSE للتفاصيل.

سجل النجوم

Star History Chart

سجل التغييرات

راجع سجل التحديثات للحصول على ملاحظات الإصدارات وتاريخ المشروع.

المؤلف

مدونة المؤلف: 今天是几号

إذا كنت مهتماً بأمن التطبيقات أو التطوير الآمن أو SDL أو DevSecOps أو مختبرات الثغرات، فلا تتردد في الانضمام إلى مجموعة المجتمع.

WeChat Community group

الرعاية

إذا كان JavaSecLab مفيداً لك، فإن رعايته محل تقدير. ستُستخدم الدعم لصيانة البيئة المباشرة والتحسين المستمر للمشروع.

Sponsor JavaSecLab
تنزيل الأداة