🧪 LAB 6: فحص تطبيقات الويب باستخدام ZAProxy (Scanning Web Application with ZAProxy Lab

🎯 الهدف الأساسي: فحص تطبيق الويب bWAPP (B-Web) باستخدام OWASP ZAP (ZAProxy) لاكتشاف نقاط الضعف المعروفة، بما في ذلك ثغرات حقن HTML و SQL Injection.

🔧 الأدوات المستخدمة:

  • Nmap

  • Firefox (أو أي متصفح ويب)

  • OWASP ZAP (ZAProxy)

📜 خطوات التنفيذ:

  1. تحديد عنوان IP الخاص بالهدف والوصول لتطبيق الويب bWAPP: *

    • لو أردت التأكد، فنَفّذ nmap -sV 192.0.X.0 (مع تغيير IP الهدف)، فسيظهر أن البورت 80 مفتوح.

    • لو كتبت http://192.0.X.0 (أو عنوان IP الخاص بالهدف) في متصفح Firefox، فسيظهر لك تطبيق الويب bWAPP.

    • لو قمت بتسجيل الدخول باستخدام bee / bug.

      • 💡 معلومة ذهبية: bWAPP هو تطبيق ويب مصمم للتدريب على الثغرات الأمنية.

  2. بدء ZAProxy وManual Explore:

    • لو قمت بتشغيل OWASP ZAP (من قائمة التطبيقات -> Web Application Analysis -> OWASP ZAP).

    • لو اخترت Manual Explore من واجهة ZAP.

    • لو أدخلت عنوان URL الهدف (مثلاً http://192.X.0.X) وضغطت Launch Browser.

    • لو قمت بتسجيل الدخول مرة أخرى في المتصفح الذي فتحه ZAP.

  3. اختبار ثغرة HTML Injection (Reflected POST):

    • لو اخترت من قائمة ثغرات bWAPP (في المتصفح) HTML Injection - Reflected (POST).

    • لو أدخلت نصاً مثل Ahmed Sultan في حقل الإدخال وضغطت Hack، فسيظهر النص في الصفحة، مما يدل على حقن HTML.

    • لو أدخلت كود HTML مثل <h1>Hi Ahmed</h1> في حقل الإدخال، فسيظهر النص بخط عريض، مما يؤكد الحقن.

  4. اختبار ثغرة SQL Injection (GET & Search):

    • لو اخترت من قائمة ثغرات bWAPP SQL Injection - GET & Search.

    • لو أدخلت كلمة go في حقل البحث وضغطت Search، فسيظهر نتائج البحث العادية.

    • لو اخترت SQL Injection - GET & Select.

    • لو اخترت أحد الأفلام من القائمة (مثلاً Goفسيظهر تفاصيل الفيلم.

  5. تكوين ZAP للمسح المصادق (Authenticated Scan):

    • لو ذهبت إلى تبويب Sites في ZAP، ثم نقرت بزر الفأرة الأيمن على طلب POST لصفحة login.php.

    • لو اخترت Include in Context -> Default Context.

    • لو ذهبت إلى Contexts -> Default Context -> Authentication، ثم اخترت Form-based Authentication.

    • لو حددت صفحة login.php كـ Login Request.

    • لو حددت name كـ Username Parameter و password كـ Password Parameter في نموذج المصادقة.

    • لو أضفت User جديد باسم bee وكلمة مرور bug في تبويب Users.

    • لو قفلت رمز القفل (Lock icon) لتأكيد استخدام هذا المستخدم.

    • لو نقرت بزر الفأرة الأيمن على عنوان IP الخاص بالهدف في تبويب Sites، ثم اخترت Include in Context -> Default Context مرة أخرى.

  6. تشغيل Spider و Active Scan (المسح الفعال):

    • لو نقرت بزر الفأرة الأيمن على عنوان IP الخاص بالهدف في تبويب Sites.

    • لو اخترت Attack -> Spider، ثم حددت المستخدم bee، فسيبدأ ZAP في الزحف للموقع لجمع جميع الروابط والموارد.

      • لو انتهى Spider، فسيظهر لك عدد الـ URLs المكتشفة.

    • لو نقرت بزر الفأرة الأيمن على عنوان IP الخاص بالهدف مرة أخرى.

    • لو اخترت Attack -> Active Scan، ثم حددت المستخدم bee، فسيبدأ ZAP في فحص نشط وشامل للموقع بحثًا عن الثغرات.

      • لو اكتمل Active Scan، فسيظهر لك تنبيهات (Alerts) عن الثغرات المكتشفة في تبويب Alerts.

  7. اختبار XSS مؤكد (Persistent):

    • لو اخترت من قائمة ثغرات bWAPP XSS - Persistent (Blog).

    • لو أدخلت كود XSS بسيط مثل <script>alert('XSS')</script> في حقل التعليق وضغطت Add.

    • لو ظهر مربع تنبيه alert في المتصفح، فهذا يؤكد وجود ثغرة XSS Persistent.

نقاط التحقق:

  • لو تمكنت من اختبار حقن HTML و SQL Injection و XSS يدوياً باستخدام bWAPP.

  • لو نجح ZAP Spider في جمع الـ URLs.

  • لو كشف ZAP Active Scan عن تنبيهات (Alerts) للثغرات في تبويب Alerts، فهذا يؤكد نجاح الفحص الآلي.

Last updated