تقييم أمني شامل هدفه تحديد الثغرات ونقاط الضعف في تطبيقات الويب، عبر محاكاة هجمات واقعية لتقييم الوضع الأمني للتطبيق وتقديم توصيات للمعالجة. استخدام منهجية واضحة أمر حيوي لأنه بيوفّر نهج منظّم ومنضبط لإجراء تقييمات أمنية شاملة.
الاعتماد على معايير الصناعة (OWASP، NIST)، الالتزام القانوني والأخلاقي عبر احترام قواعد الاشتباك والحصول على تفويض رسمي، واكتشاف الثغرات المعقدة اللي محتاجة نهج منظّم للكشف عنها بدل الاختبار العشوائي.
رغم اختلاف المنهجيات المحدَّدة، فيه مراحل مشتركة بتتكرر في معظم منهجيات اختبار اختراق تطبيقات الويب:
| # | المرحلة | الهدف |
|---|---|---|
| 1 | Pre-Engagement | تحديد النطاق والأهداف، الحصول على تفويض رسمي، جمع معلومات أولية عن التطبيق |
| 2 | Information Gathering & Recon | استطلاع سلبي، تعداد Subdomains/Directories، فحص منافذ بـ Nmap، Google Dorks |
| 3 | Threat Modeling | تحليل البنية وتدفّق البيانات، بناء نموذج سطح الهجوم، تحديد المناطق عالية الخطورة |
| 4 | Vulnerability Scanning | فحص آلي بـ Burp Suite / OWASP ZAP، ثم تحقق يدوي من النتائج لاستبعاد False Positives |
| 5 | Manual Testing & Exploitation | اختبار يدوي واستغلال فعلي — Input Validation، Auth Bypass، منطق العمل |
| 6 | Authentication & Authorization | اختبار سياسات كلمات المرور، إدارة الجلسات، ضوابط الوصول |
| 7 | Session Management Testing | منع Session Fixation وHijacking، فحص إعدادات انتهاء الجلسة |
| 8 | Information Disclosure | فحص تسريب معلومات حساسة عبر رسائل الخطأ أو استجابات السيرفر |
| 9 | Business Logic Testing | ثغرات منطق العمل — تصعيد صلاحيات، تلاعب في الطلبات |
| 10 | Client-Side Testing | فحص كود HTML/JavaScript — DOM-based XSS، تخزين غير آمن من جهة العميل |
| 11 | Reporting & Remediation | توثيق وترتيب أولوية الثغرات، تقرير مفصَّل، متابعة الإصلاح وإعادة الاختبار |
| 12 | Post-Engagement | اجتماع ختامي لمناقشة النتائج، تدريب فريق التطوير على ممارسات الكود الآمن |
أول نسخة صدرت سنة 2003 بهدف رفع الوعي بمخاطر أمان الويب الشائعة ومساعدة المطوّرين على ترتيب أولويات الأمان — وكانت القائمة تشمل Cross-Site Scripting (XSS)، SQL Injection، ومشاكل إدارة الجلسات. كل إصدار جديد بيبني على الإصدارات السابقة لتحسين الدقة والملاءمة للمشهد الأمني المتغيّر.
القائمة بتتحدَّث بشكل دوري لتعكس المشهد الحالي للتهديدات — دايمًا راجع آخر إصدار رسمي قبل أي تقييم جديد.
اختبار الاختراق يركّز تحديدًا على محاولة استغلال الثغرات المكتشَفة فعليًا — هجوم محاكى بيقوم بيه مختبرون محترفون (Pentesters) بنهج منضبط ومصرَّح به.
| الجانب | اختبار الأمان (Security Testing) | اختبار الاختراق (Pentesting) |
|---|---|---|
| الهدف | تحديد الثغرات بدون استغلالها فعليًا | التحقق من الثغرات وتقييم القدرة على الاكتشاف والاستجابة |
| النطاق | أوسع — يشمل SAST وDAST وIAST وSCA | محدَّد لتحديد الثغرات واستغلالها، يدوي بالأساس |
| المنهجية | تجمع بين الاختبار اليدوي والآلي | اختبار يدوي باستخدام أدوات لمحاكاة هجمات واقعية |
| الاستغلال | لا يشمل استغلال الثغرات | يشمل استغلال مضبوط ومصرَّح به |
| التأثير | غير تدخلي — يركّز على تحديد المشاكل | ممكن يكون تدخلي ويسبّب اضطراب للتطبيق أثناء الاختبار |
| التقرير | يحدّد الثغرات ويقدّم توصيات المعالجة | يوثّق الاستغلالات الناجحة ونقاط الضعف والتوصيات |
مصدر شامل بقيادة المجتمع من OWASP، بيهدف لمساعدة المختصين والمطوّرين والمؤسسات على إجراء تقييمات أمنية فعّالة عبر نهج منظّم ومنهجي — مرجع عملي وتطبيقي للتخطيط والتنفيذ والتوثيق.
بتحوّل منهجية WSTG النظرية لأداة تتبّع تشغيلية يومية — كل اختبار له حالة واضحة (منجز/معلَّق)، وده بيقلّل خطر نسيان أي خطوة في التقييم.
خطوة حاسمة بترسي الأساس لتقييم أمني ناجح ومخطَّط جيدًا — تحضيرات أولية، فهم متطلبات المشروع، والحصول على التفويضات اللازمة قبل بدء الاختبار الفعلي.
تحديد واضح لأهداف وغايات اختبار الاختراق، وفهم ما يسعى أصحاب المصلحة لتحقيقه من عملية الاختبار.
تحديد تطبيقات الويب والروابط والوظائف المستهدَفة بالاختبار، وتوضيح حدود النطاق — أي أنظمة أو شبكات خارج النطاق.
الحصول على تفويض رسمي من إدارة المؤسسة أو أصحاب التطبيق، والتأكد من الالتزام بأي متطلبات قانونية أو تنظيمية.
وضع مجموعة قواعد واضحة تحدّد قيود وإرشادات عملية الاختبار — جدول الاختبار، ساعات العمل، قنوات التواصل، وإجراءات التصعيد.
تأسيس قنوات تواصل واضحة مع أصحاب المصلحة الرئيسيين، والتنسيق لتقليل الاضطراب على بيئة الإنتاج أثناء الاختبار.
توقيع العقود واتفاقيات NDA اللازمة لحماية المعلومات الحساسة وضمان السرّية.
مناقشة أهداف الاختبار ونطاقه وأي مخاوف محدَّدة مع أصحاب المصلحة، وتوضيح التوقعات ومحاذاة الجميع مع نهج الاختبار.
التأكد من توفّر كل الأدوار والتراخيص والموارد المطلوبة، وإعداد بيئة اختبار آمنة.
تقييم التأثير المحتمل للاختبار على التطبيق والمؤسسة، والحصول على قبول الإدارة لأي مخاطر مرتبطة.
تأكيد تاريخ البدء والجدول الزمني مع أصحاب المصلحة، ومشاركة قواعد الاشتباك مع فريق الاختبار.
| التقنية | الغرض |
|---|---|
| جمع البروفايلات وبيانات التواصل | تحديد أهداف لهندسة اجتماعية محتملة أو هجمات موجَّهة |
| فحص تسريبات البيانات (Data Breaches) | اكتشاف بيانات اعتماد أو معلومات مرتبطة بالمؤسسة سبق تسريبها |
| بصمة التقنيات (Tech Fingerprinting) | تحديد المكدّس البرمجي، الـ CMS، الأطر المستخدَمة، ونسخها |
| Google Dorks | إيجاد معلومات وملفات ومجلدات مفهرَسة في محركات البحث |
| HTTrack | نسخ هيكل الموقع بالكامل محليًا لرسم خريطة التطبيق |
| Passive Crawling (Burp Suite) | بناء خريطة للتطبيق أثناء التصفّح العادي بدون إرسال طلبات إضافية |
| Automated Crawling (OWASP ZAP) | زحف آلي شامل لاكتشاف صفحات ونقاط نهاية غير ظاهرة |
EyeWitness بيُستخدم لأخذ لقطات شاشة لمواقع الويب أثناء تحديد النطاق — طريقة سريعة لمراجعة عدد كبير من الأهداف بصريًا قبل التعمّق في كل واحد.
رموز أو سلاسل فريدة بتُنشئها تطبيقات الويب لتحديد وتتبّع جلسات المستخدمين — أساسية للحفاظ على تواصل ذو حالة (Stateful) بين المتصفح والسيرفر. بتُستخدم لربط طلبات المستخدم ببيانات جلسته المحفوظة على السيرفر.
أثناء اختبار اختراق على موقع تجارة إلكترونية: بعد تسجيل دخول المستخدم، السيرفر بينشئ Session ID (مثلًا "Session12345") ويربطه بجلسة المستخدم. المعرّف ده بعدين بيتبعت للمتصفح كـ Cookie.
قطع بيانات صغيرة (غالبًا نصية) بيبعتها سيرفر الويب لمتصفح المستخدم، وبيتم تخزينها محليًا. بتخدم أغراض متعددة: إدارة الجلسات، تتبّع المستخدم، والتخصيص الشخصي. في سياق إدارة الجلسات، Session Cookies بتُستخدم لتخزين الـ Session ID وتمكين السيرفر من التعرّف على جلسة المستخدم.
أثناء اختبار اختراق، اكتشفت إن الموقع بيستخدم كوكيز لإدارة الجلسات. عند تسجيل الدخول، السيرفر بيبعت كوكي اسمه "sessionID" بقيمة "Session12345". في الطلبات التالية، المتصفح بيضمّن الكوكي ده، والسيرفر بيستخدمه عشان يربط الطلبات بجلسة المستخدم.
بمجرد حصول المهاجم على رمز الجلسة، بيقدر ينتحل شخصية الضحية بتقديم الرمز ده في الطلبات — والتطبيق، من غير ما يعرف إن في اختطاف، بيعامل المهاجم كمستخدم مصادَق عليه.
ربط كل الوحدات في دورة عمل واحدة متكاملة — من اللحظة اللي يتفق فيها المختبر والعميل على النطاق، وحتى تسليم التقرير النهائي ومتابعة الإصلاح.
تحديد النطاق، توقيع العقود وNDA، والحصول على تفويض رسمي موثَّق قبل أي نشاط فعلي.
جمع معلومات سلبية وفعّالة، تعداد Subdomains والملفات، وبناء خريطة كاملة للتطبيق عبر الزحف (Crawling).
فحص آلي بـ Burp/ZAP، تحقّق يدوي من النتائج، وبناء نموذج تهديدات للتطبيق.
اختبار وإثبات الثغرات فعليًا — مصادقة، صلاحيات، منطق عمل، وأمان الجلسات.
توثيق مفصَّل بأولويات واضحة، ودعم فريق التطوير حتى التأكد من الإصلاح الفعلي.
| الأداة | الاستخدام |
|---|---|
| Burp Suite | Proxy واختبار يدوي، Passive Crawling، فحص آلي للثغرات |
| OWASP ZAP | فحص آلي مفتوح المصدر، Active/Passive Scanning |
| Nmap | تحديد المنافذ المفتوحة والخدمات الشغّالة على السيرفر |
| Google Dorks | إيجاد ملفات ومجلدات مفهرَسة في محرّكات البحث |
| HTTrack | نسخ هيكل الموقع بالكامل محليًا لرسم خريطة التطبيق |
| EyeWitness | لقطات شاشة سريعة لمجموعة أهداف أثناء تحديد النطاق |
| Caido | أداة حديثة لتدقيق أمان الويب — بديل خفيف لـ Burp/ZAP |
https://caido.io/| # | التحقق | الأداة/الطريقة | الهدف |
|---|---|---|---|
| 1 | النطاق والتفويض موثَّقين رسميًا؟ | Statement of Work + RoE | غطاء قانوني كامل قبل البدء |
| 2 | إيه التقنيات المستخدَمة في التطبيق؟ | Tech Fingerprinting | توجيه جهد الاستغلال بذكاء |
| 3 | فيه مجلدات أو ملفات مفهرَسة مكشوفة؟ | Google Dorks | معلومات حساسة بدون أي تفاعل مباشر |
| 4 | خريطة التطبيق الكاملة متاحة؟ | Burp Passive Crawl + ZAP | تغطية شاملة لكل نقاط النهاية |
| 5 | آلية إدارة الجلسة آمنة؟ | فحص Cookies + Session IDs | استبعاد Hijacking/Fixation مبكرًا |
الموديول ده أسّس لفهم منهجية اختبار اختراق تطبيقات الويب الاحترافية — من أهمية وجود منهجية واضحة ومراحلها الـ12، مرورًا بمنهجيات معتمَدة عالميًا زي PTES وWSTG، ووصولًا لمرحلة ما قبل الالتزام والاستطلاع وأمان الجلسات.
الفكرة الجوهرية للموديول: اختبار الاختراق الاحترافي مش مجرد تشغيل أدوات واستغلال ثغرات — هو عملية منضبطة تبدأ بالاتفاق والتفويض، وتمرّ بفهم عميق للتطبيق قبل أي محاولة استغلال، وتنتهي بتقرير يخدم العميل فعليًا. المنهجية هي الفرق بين اختبار عشوائي واختبار احترافي يقدر يُعاد تنفيذه بنفس الجودة في كل مرة.
قبل ما تفتح أي أداة فحص: اتأكد إن النطاق والتفويض موثَّقين كتابيًا، وافهم السياق التجاري للتطبيق مش بس التقني. استطلع بأقصى قدر من الصمت قبل ما تتفاعل مباشرة مع التطبيق، ووثّق كل خطوة أولًا بأول — التقرير بيُبنى أثناء الاختبار، مش بعده.
نهاية نوتس الموديول الأول — Intro to Advanced Web Application Penetration Testing (eWPTXv3)