تثبيت WebGoat على CentOS خطوة بخطوة
الكاتب: صبري صالح | يوم: 09 ديسمبر, 2012 | التعليقات: 5 | القراءات: - عدد المشاهدات 11٬167
مقدمة
الكثير منا يحتاج بيئة وهمية لتطبيق ما يتعلمه في استغلال ثغرات تطبيقات الويب. كتابة أكواد مصابة والتطبيق عليها هو إهدار للمجهود والوقت كما أنه من الخطأ التعلم على مواقع حقيقية تخص أشخاص آخرين ولهذا نبحث عن تطبيقات مصابة تم عملها خصيصا للتعلم وتختلف هذه التطبيقات في لغة برمجتها وقواعد بياناتها وأيضا الثغرات الموجودة عليها ومدى احترافيتها. مشروع 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. تثبيت الجافا على النظام
yum -y install java-*-openjdk
2. تحميل المشروع
حمل المشروع من الروابط الرئيسية: من هنا
3. فك الضغط والدخول إلى مجلد المشروع
unzip WebGoat-5.4-OWASP_Standard_Win32.zip
cd WebGoat-5.4
يفترض بعد هذه الخطوة أن نقوم بتشغيل المشروع لكن يجب أن نقوم ببعض التعديلات على الإعدادات لكي نحدد مسار الجافا في النظام
3.1. تعديل ملف تشغيل المشروع (Linux=webgoat.sh , Windows,webgoat.bat)
معلومة:
– مسار الجافا عندي هو (/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0) تستطيع البحث عن مسار الجافا الخاص بك عن طريق
find / -name java
– إصدار الجافا عندي هو (1.6.0_22) تسطيع معرفة إصدار الجافا لديك عن طريق
java -version
الأن افتح الملف webgoat.sh
vim webgoat.sh
ابحث عن السطر
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.sh start80
سيعمل على منفذ 80, أو
./webgoat.sh start8080
كي يعمل على منفذ 8080
حتى هنا نكون قد انتهينا من التثبيت بشكل رسمي, لكن ستواجهنا مشكلة أن 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.شغّل خادم المشروع
./webgoat.sh start80
سيعمل على منفذ 80, أو
./webgoat.sh start8080
معلومة:
تستطيع جعل التطبيق يعمل بشكل افتراضي (مسار التطبيق عندي تحت الجذر مباشرة)
echo "cd /WebGoat-5.4 && ./webgoat.sh start80 &" >> /etc/rc.local
5.3.الدخول إلى المشروع من المتصفح
http://x.x.x.x/WebGoat/attack
عند دخولك على الموقع لأول مرة سيطلب منك اسم مستخدم وكلمة مرور ,, استخدم التالي
Username = guest, password = guest
سؤال: نعلم أن هناك مشاريع أخرى مثل Webgoat وعلى منصات مختلفة ولغات متعددة, هل تعتقد أن في تلك المشاريع من هو أفضل منه؟ ولماذا؟
المهندس صبري صالح. مهندس حماية شبكات و أنظمة و فحصها معالجة و تحليل الأحداث الأمنية و المسؤول عن تطبيق معايير الـ ISO 27001 , يعمل في بيئات متعددة المنصات. حاصل على عدة شهادات تقنية.
التعليقات:
اترك تعليقاً | عدد التعليقات: (5)
شكرا أخ صبري
نترقب جديدكم
هناك أيضا سكربت php
Damn Vulnerable Web Application (DVWA)
http://www.dvwa.co.uk/
لكن لا أدري ما الفرق بينهم
جهد طيب, تشكرون عليه.
يوجد framework تُسمى Samurai تضم مجموعة من الأدوات لتنفيذ اختبار قابلية اختراق تطبيقات الوب, كما أنها تضم WebGoat مثبت وجاهز للاستخدام مباشرة.
http://samurai.inguardians.com/
هناك أيضا أداء تقوم بفحص السكربتات ومعرفة الدوال
RIPS – PHP static code analyzer
صراحة سكربت مفيـــد جدا وشكرا
اريد تعلم الهكر بسرعة