
تطبيق ويب ضعيف عن قصد لتعلّم أمن تطبيقات الويب.
OWASP WebGoatPHP هو إصدار منقول من OWASP WebGoat إلى قواعد بيانات PHP وMySQL/SQLite. الهدف هو إنشاء بيئة تعليمية تفاعلية لأمن تطبيقات الويب من خلال تقديم دروس في شكل تحديات. في كل تحدٍّ، يجب على المستخدم استغلال الثغرة لإظهار فهمه.
يدعم WebGoatPHP أربعة أوضاع مختلفة وهي: الوضع الفردي، وضع ورشة العمل، وضع المسابقة، ووضع البرمجة الآمنة.
يمكن الاطلاع على مقترح المشروع هنا
وضع المستخدم الفردي:

وضع ورشة العمل:

git clone https://github.com/shivamdixit/WebGoatPHP.gitguest:guestإضافة تحدٍّ جديد أمر بسيط للغاية. يجب أن تكون جميع التحديات موجودة في دليل 'challenges' ويجب أن ترث من الصنف (class) 'BaseLesson'. يتم توفير قالب في template/SampleLesson. يجب أن يكون اسم الدليل مطابقًا لاسم الصنف في index.php. يجب وضع أي محتوى ثابت مثل الصور والبرامج النصية وما إلى ذلك داخل دليل فرعي باسم 'static' داخل دليل الدرس.
هناك عدد قليل من الطرق (methods) التي يحتاج درسك إلى تنفيذها مثل start()، وgetTitle()، وgetCategory()، وreset()، وما إلى ذلك.
بمجرد إضافة الدرس، انقر على زر "تحديث القائمة" في أعلى التطبيق لعرض درسك في القائمة.
https://www.owasp.org/index.php/WebGoatPHP
إذا كانت لديك أي أسئلة، انضم إلى النقاش في القائمة البريدية أو اكتب بريدًا إلكترونيًا إلى: shivam.dixit[at]owasp.org