مقدمة
الكثير منا يحتاج بيئة وهمية لتطبيق ما يتعلمه في استغلال ثغرات تطبيقات الويب. كتابة أكواد مصابة والتطبيق عليها هو إهدار للمجهود والوقت كما أنه من الخطأ التعلم على مواقع حقيقية تخص أشخاص آخرين ولهذا نبحث عن تطبيقات مصابة تم عملها خصيصا للتعلم وتختلف هذه التطبيقات في لغة برمجتها وقواعد بياناتها وأيضا الثغرات الموجودة عليها ومدى احترافيتها. مشروع WebGoat هو من تطويل منظمة OWASP وتم عمله بالجافا J2EE ليتناسب مع التدريبات التي تعطيها في دوراتها الاحترافية وهو مشروع مجاني ومفتوح المصدر ويعمل على عدة منصات وهو ليس المنصة الوحيدة الموجودة في هذا المجال.يحتوي المشروع على أنواع مختلفة من ثغرات الويب منها
- Cross-site Scripting (XSS)
- Access Control
- Thread Safety
- Hidden Form Field Manipulation
- Parameter Manipulation
- Weak Session Cookies
- Blind SQL Injection
- Numeric SQL Injection
- String SQL Injection
- Web Services
- Fail Open Authentication
- Dangers of HTML Comments
التـثـبـيـت
1. تثبيت الجافا على النظامحمل المشروع من الروابط الرئيسية: من هنا
3. فك الضغط والدخول إلى مجلد المشروع
3.1. تعديل ملف تشغيل المشروع (Linux=webgoat.sh , Windows,webgoat.bat)
معلومة:
- مسار الجافا عندي هو (/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0) تستطيع البحث عن مسار الجافا الخاص بك عن طريق
export CATALINA_HOME PATHوحوله إلى نفس مسار الجافا الخاص بك
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0ابحث عن السطر
$JAVA_HOME/bin/java -version 2>&1 | grep ‘version \”1.5′ >/dev/nullوحوله إلى نفس إصدار الجافا الخاص بك
$JAVA_HOME/bin/java -version 2>&1 | grep ‘version \”1.6.0_22′ >/dev/null
4. شغل خادم المشروع
حتى هنا نكون قد انتهينا من التثبيت بشكل رسمي, لكن ستواجهنا مشكلة أن WebGoat تم إعداده لكي يتم الوصول إليه من نفس الجهاز المُثبت عليه احتياطا لأنه نظام مليئ بالثغرات وخوفا من الوصول إليه من أحد في نفس الشبكة واختراق الجهاز.
في حالتنا نريد الوصول إليه من الشبكة والأن سنعرف كيفيه إعداده لهذا.
5. تعديل ملف إعدادات الـ Tomcat
cd tomcat/conf
ملاحظة:
- إذا كنت تريد تشغيل المشروع على منفذ 80, عدل الملف (server_80.xml)
- إذا كنت تريد تشغيل المشروع على منفذ 80, عدل الملف (server_8080.xml)
اذهب إلى السطر
Connector address=”127.0.0.1” port=”80″ maxHttpHeaderSize=”8192″واجعله
Connector address=”0.0.0.0” port=”80″ maxHttpHeaderSize=”8192″
5.1. أعد التشغيل أو ابحث عن الـ Process الخاصة بالجافا واغلقها
5.2.شغّل خادم المشروع
تستطيع جعل التطبيق يعمل بشكل افتراضي (مسار التطبيق عندي تحت الجذر مباشرة)
http://x.x.x.x/WebGoat/attack
سؤال: نعلم أن هناك مشاريع أخرى مثل Webgoat وعلى منصات مختلفة ولغات متعددة, هل تعتقد أن في تلك المشاريع من هو أفضل منه؟ ولماذا؟
| روابط هذه التدوينة قابلة للنسخ واللصق | |
| URL | |
| HTML | |
| BBCode | |
kamindoz
