01منهجية اختبار اختراق تطبيقات الويب وأهميتها

تعريف اختبار اختراق تطبيقات الويب

تقييم أمني شامل هدفه تحديد الثغرات ونقاط الضعف في تطبيقات الويب، عبر محاكاة هجمات واقعية لتقييم الوضع الأمني للتطبيق وتقديم توصيات للمعالجة. استخدام منهجية واضحة أمر حيوي لأنه بيوفّر نهج منظّم ومنضبط لإجراء تقييمات أمنية شاملة.

ليه منهجيات اختبار الاختراق مهمة جدًا

1الاتساق والتوحيد القياسي — إجراءات وأدوات وتقنيات موحَّدة عبر كل المشاريع
2تغطية شاملة — تقليل خطر إغفال ثغرات حرجة في أي مكوّن من التطبيق
3كفاءة وإدارة وقت — ترتيب أولويات المهام والتركيز على المناطق عالية الخطورة
4تحديد دقيق للثغرات — الشائعة والنادرة على حد سواء
5ترتيب أولويات المخاطر — تصنيف الثغرات حسب تأثيرها المحتمل على العمل
6تقارير وتواصل فعّال — توثيق واضح يفهمه التقنيون وغير التقنيين
فوائد إضافية

الاعتماد على معايير الصناعة (OWASP، NIST)، الالتزام القانوني والأخلاقي عبر احترام قواعد الاشتباك والحصول على تفويض رسمي، واكتشاف الثغرات المعقدة اللي محتاجة نهج منظّم للكشف عنها بدل الاختبار العشوائي.


02المراحل الـ12 لمنهجية الاختبار الكاملة

رغم اختلاف المنهجيات المحدَّدة، فيه مراحل مشتركة بتتكرر في معظم منهجيات اختبار اختراق تطبيقات الويب:

#المرحلةالهدف
1Pre-Engagementتحديد النطاق والأهداف، الحصول على تفويض رسمي، جمع معلومات أولية عن التطبيق
2Information Gathering & Reconاستطلاع سلبي، تعداد Subdomains/Directories، فحص منافذ بـ Nmap، Google Dorks
3Threat Modelingتحليل البنية وتدفّق البيانات، بناء نموذج سطح الهجوم، تحديد المناطق عالية الخطورة
4Vulnerability Scanningفحص آلي بـ Burp Suite / OWASP ZAP، ثم تحقق يدوي من النتائج لاستبعاد False Positives
5Manual Testing & Exploitationاختبار يدوي واستغلال فعلي — Input Validation، Auth Bypass، منطق العمل
6Authentication & Authorizationاختبار سياسات كلمات المرور، إدارة الجلسات، ضوابط الوصول
7Session Management Testingمنع Session Fixation وHijacking، فحص إعدادات انتهاء الجلسة
8Information Disclosureفحص تسريب معلومات حساسة عبر رسائل الخطأ أو استجابات السيرفر
9Business Logic Testingثغرات منطق العمل — تصعيد صلاحيات، تلاعب في الطلبات
10Client-Side Testingفحص كود HTML/JavaScript — DOM-based XSS، تخزين غير آمن من جهة العميل
11Reporting & Remediationتوثيق وترتيب أولوية الثغرات، تقرير مفصَّل، متابعة الإصلاح وإعادة الاختبار
12Post-Engagementاجتماع ختامي لمناقشة النتائج، تدريب فريق التطوير على ممارسات الكود الآمن
Pre-Engagementالنطاق والتفويضRecon + Scanningجمع واكتشافManual Exploitationاستغلال يدويSession + Logicجلسات ومنطق عملReportingتوثيق ومتابعة
تجميع المراحل الـ12 في خمس كتل منطقية متتالية

03منهجيات معتمَدة: PTES وWSTG وOWASP Top 10

01
PTES
Penetration Testing Execution Standard — منهجية اختبار اختراق كاملة بتغطي كل جوانب التقييم الأمني بما فيها اختبار تطبيقات الويب، بنهج منظَّم من Pre-Engagement وحتى التقرير والمتابعة.
02
OWASP WSTG
Web Security Testing Guide — مصدر شامل من OWASP بيوفّر منهجية منظَّمة لإجراء اختبارات أمان تطبيقات الويب خطوة بخطوة.
03
OWASP Top 10
قائمة مُحدَّثة دوريًا لأخطر عشر مخاطر أمنية في تطبيقات الويب — دليل أساسي للمطوّرين والمختبرين لفهم وترتيب أولوية المخاطر الشائعة.

تاريخ إصدارات OWASP Top 10

أول نسخة صدرت سنة 2003 بهدف رفع الوعي بمخاطر أمان الويب الشائعة ومساعدة المطوّرين على ترتيب أولويات الأمان — وكانت القائمة تشمل Cross-Site Scripting (XSS)، SQL Injection، ومشاكل إدارة الجلسات. كل إصدار جديد بيبني على الإصدارات السابقة لتحسين الدقة والملاءمة للمشهد الأمني المتغيّر.

ملاحظة عملية

القائمة بتتحدَّث بشكل دوري لتعكس المشهد الحالي للتهديدات — دايمًا راجع آخر إصدار رسمي قبل أي تقييم جديد.


04اختبار الأمان مقابل اختبار الاختراق

أنواع اختبار أمان تطبيقات الويب

1Vulnerability Scanning — فحص آلي للثغرات المعروفة (SQLi، XSS، إعدادات غير آمنة)
2Penetration Testing — محاكاة هجمات واقعية لتقييم دفاعات التطبيق فعليًا
3Code Review & Static Analysis — فحص يدوي للكود المصدري لاكتشاف عيوب برمجية
4Authentication & Authorization Testing — تقييم فعالية آليات المصادقة وضوابط الوصول
5Input Validation & Output Encoding — منع XSS وSQLi عبر فحص معالجة المدخلات
6Session Management & API Security Testing — إدارة الجلسات وأمان واجهات الـ APIs

اختبار الاختراق — مجموعة فرعية من اختبار الأمان

اختبار الاختراق يركّز تحديدًا على محاولة استغلال الثغرات المكتشَفة فعليًا — هجوم محاكى بيقوم بيه مختبرون محترفون (Pentesters) بنهج منضبط ومصرَّح به.

الجانباختبار الأمان (Security Testing)اختبار الاختراق (Pentesting)
الهدفتحديد الثغرات بدون استغلالها فعليًاالتحقق من الثغرات وتقييم القدرة على الاكتشاف والاستجابة
النطاقأوسع — يشمل SAST وDAST وIAST وSCAمحدَّد لتحديد الثغرات واستغلالها، يدوي بالأساس
المنهجيةتجمع بين الاختبار اليدوي والآلياختبار يدوي باستخدام أدوات لمحاكاة هجمات واقعية
الاستغلاللا يشمل استغلال الثغراتيشمل استغلال مضبوط ومصرَّح به
التأثيرغير تدخلي — يركّز على تحديد المشاكلممكن يكون تدخلي ويسبّب اضطراب للتطبيق أثناء الاختبار
التقريريحدّد الثغرات ويقدّم توصيات المعالجةيوثّق الاستغلالات الناجحة ونقاط الضعف والتوصيات

05التخطيط للاختبار باستخدام WSTG

OWASP Web Security Testing Guide

مصدر شامل بقيادة المجتمع من OWASP، بيهدف لمساعدة المختصين والمطوّرين والمؤسسات على إجراء تقييمات أمنية فعّالة عبر نهج منظّم ومنهجي — مرجع عملي وتطبيقي للتخطيط والتنفيذ والتوثيق.

قائمة فحص WSTG (WSTG Checklist)

ليه القائمة دي مفيدة عمليًا

بتحوّل منهجية WSTG النظرية لأداة تتبّع تشغيلية يومية — كل اختبار له حالة واضحة (منجز/معلَّق)، وده بيقلّل خطر نسيان أي خطوة في التقييم.


06مرحلة ما قبل الالتزام (Pre-Engagement)

خطوة حاسمة بترسي الأساس لتقييم أمني ناجح ومخطَّط جيدًا — تحضيرات أولية، فهم متطلبات المشروع، والحصول على التفويضات اللازمة قبل بدء الاختبار الفعلي.

المستندات اللي لازم تُحدَّد مسبقًا

1أهداف ونطاق الالتزام (Objectives & Scope)
2الجدول الزمني والمحطات الرئيسية (Timeline & Milestones)
3المسؤوليات والالتزامات القانونية (Liabilities)
4الإجراءات المصرَّح بها (Authorized Actions)
5التوقعات والمخرجات (Expectations & Deliverables)
6بيان العمل (Statement of Work)

خطوات مرحلة ما قبل الالتزام

1
فهم أهداف المشروع

تحديد واضح لأهداف وغايات اختبار الاختراق، وفهم ما يسعى أصحاب المصلحة لتحقيقه من عملية الاختبار.

2
تحديد النطاق

تحديد تطبيقات الويب والروابط والوظائف المستهدَفة بالاختبار، وتوضيح حدود النطاق — أي أنظمة أو شبكات خارج النطاق.

3
التفويض والمتطلبات القانونية

الحصول على تفويض رسمي من إدارة المؤسسة أو أصحاب التطبيق، والتأكد من الالتزام بأي متطلبات قانونية أو تنظيمية.

4
قواعد الاشتباك (RoE)

وضع مجموعة قواعد واضحة تحدّد قيود وإرشادات عملية الاختبار — جدول الاختبار، ساعات العمل، قنوات التواصل، وإجراءات التصعيد.

5
التواصل والتنسيق

تأسيس قنوات تواصل واضحة مع أصحاب المصلحة الرئيسيين، والتنسيق لتقليل الاضطراب على بيئة الإنتاج أثناء الاختبار.

6
العقود واتفاقيات عدم الإفصاح

توقيع العقود واتفاقيات NDA اللازمة لحماية المعلومات الحساسة وضمان السرّية.

7
اجتماع تحديد النطاق

مناقشة أهداف الاختبار ونطاقه وأي مخاوف محدَّدة مع أصحاب المصلحة، وتوضيح التوقعات ومحاذاة الجميع مع نهج الاختبار.

8
تجهيز الأدوات والموارد

التأكد من توفّر كل الأدوار والتراخيص والموارد المطلوبة، وإعداد بيئة اختبار آمنة.

9
تقييم وقبول المخاطر

تقييم التأثير المحتمل للاختبار على التطبيق والمؤسسة، والحصول على قبول الإدارة لأي مخاطر مرتبطة.

10
انطلاق الالتزام رسميًا

تأكيد تاريخ البدء والجدول الزمني مع أصحاب المصلحة، ومشاركة قواعد الاشتباك مع فريق الاختبار.


07تحديد النطاق واستطلاع الموقع

إيه اللي بنبحث عنه

1عناوين IP
2مجلدات مخفية عن محركات البحث
3أسماء وبيانات الموظفين
4عناوين بريد إلكتروني وأرقام هواتف
5عناوين فعلية
6التقنيات المستخدَمة في بناء التطبيق

تقنيات الاستطلاع وأدواتها

التقنيةالغرض
جمع البروفايلات وبيانات التواصلتحديد أهداف لهندسة اجتماعية محتملة أو هجمات موجَّهة
فحص تسريبات البيانات (Data Breaches)اكتشاف بيانات اعتماد أو معلومات مرتبطة بالمؤسسة سبق تسريبها
بصمة التقنيات (Tech Fingerprinting)تحديد المكدّس البرمجي، الـ CMS، الأطر المستخدَمة، ونسخها
Google Dorksإيجاد معلومات وملفات ومجلدات مفهرَسة في محركات البحث
HTTrackنسخ هيكل الموقع بالكامل محليًا لرسم خريطة التطبيق
Passive Crawling (Burp Suite)بناء خريطة للتطبيق أثناء التصفّح العادي بدون إرسال طلبات إضافية
Automated Crawling (OWASP ZAP)زحف آلي شامل لاكتشاف صفحات ونقاط نهاية غير ظاهرة
أدوات مكمِّلة

EyeWitness بيُستخدم لأخذ لقطات شاشة لمواقع الويب أثناء تحديد النطاق — طريقة سريعة لمراجعة عدد كبير من الأهداف بصريًا قبل التعمّق في كل واحد.


08معرّفات الجلسة والكوكيز

Session IDs (معرّفات الجلسة)

رموز أو سلاسل فريدة بتُنشئها تطبيقات الويب لتحديد وتتبّع جلسات المستخدمين — أساسية للحفاظ على تواصل ذو حالة (Stateful) بين المتصفح والسيرفر. بتُستخدم لربط طلبات المستخدم ببيانات جلسته المحفوظة على السيرفر.

مثال عملي

أثناء اختبار اختراق على موقع تجارة إلكترونية: بعد تسجيل دخول المستخدم، السيرفر بينشئ Session ID (مثلًا "Session12345") ويربطه بجلسة المستخدم. المعرّف ده بعدين بيتبعت للمتصفح كـ Cookie.

Cookies (الكوكيز)

قطع بيانات صغيرة (غالبًا نصية) بيبعتها سيرفر الويب لمتصفح المستخدم، وبيتم تخزينها محليًا. بتخدم أغراض متعددة: إدارة الجلسات، تتبّع المستخدم، والتخصيص الشخصي. في سياق إدارة الجلسات، Session Cookies بتُستخدم لتخزين الـ Session ID وتمكين السيرفر من التعرّف على جلسة المستخدم.

مثال عملي

أثناء اختبار اختراق، اكتشفت إن الموقع بيستخدم كوكيز لإدارة الجلسات. عند تسجيل الدخول، السيرفر بيبعت كوكي اسمه "sessionID" بقيمة "Session12345". في الطلبات التالية، المتصفح بيضمّن الكوكي ده، والسيرفر بيستخدمه عشان يربط الطلبات بجلسة المستخدم.


09اختطاف الجلسة وتثبيت الجلسة

هجوم 1
Session Hijacking (اختطاف الجلسة)
المهاجم بيستولي بشكل غير شرعي على جلسة نشطة لمستخدم على تطبيق الويب — بالوصول غير المصرَّح به لرمز أو معرّف الجلسة، وبالتالي انتحال شخصية الضحية وتنفيذ إجراءات نيابة عنه.
هجوم 2
Session Fixation (تثبيت الجلسة)
المهاجم بيحدّد أو يثبّت معرّف جلسة المستخدم على قيمة معروفة من اختياره هو، وبعدين بيخدع الضحية عشان يستخدم المعرّف المثبَّت ده في تسجيل الدخول — وبالتالي يمنح المهاجم وصول غير مصرَّح به لجلسة الضحية.

Session Hijacking — طرق الحصول على التوكن

Session Hijacking — الانتحال والتأثير

بمجرد حصول المهاجم على رمز الجلسة، بيقدر ينتحل شخصية الضحية بتقديم الرمز ده في الطلبات — والتطبيق، من غير ما يعرف إن في اختطاف، بيعامل المهاجم كمستخدم مصادَق عليه.

التأثير المحتمل

Session Fixation — خطوات الهجوم

  1. المهاجم بيحصل على رمز جلسة من التطبيق الهدف — عبر تخمين الرمز (لو قابل للتنبؤ) أو اعتراضه (لو التطبيق مش بيستخدم HTTPS)
  2. بيثبّت رمز جلسة الضحية على قيمة يتحكّم فيها هو — سواء رمز أنشأه أو رمز صالح موجود بالفعل
  3. بيستدرج الضحية لاستخدام الرمز المثبَّت في تسجيل الدخول — عبر رابط مُعدّ خصيصًا، أو هندسة اجتماعية
  4. بمجرد ما الضحية يسجّل دخوله بالرمز المثبَّت، المهاجم بيقدر يختطف الجلسة — التطبيق بيتعرّف عليه كمستخدم شرعي لأن الرمز مطابق لما هو متوقَّع

--دورة الاختبار الكاملة من البداية للنهاية

ربط كل الوحدات في دورة عمل واحدة متكاملة — من اللحظة اللي يتفق فيها المختبر والعميل على النطاق، وحتى تسليم التقرير النهائي ومتابعة الإصلاح.

1
الاتفاق والتفويض

تحديد النطاق، توقيع العقود وNDA، والحصول على تفويض رسمي موثَّق قبل أي نشاط فعلي.

2
الاستطلاع ورسم الخريطة

جمع معلومات سلبية وفعّالة، تعداد Subdomains والملفات، وبناء خريطة كاملة للتطبيق عبر الزحف (Crawling).

3
الفحص والتحليل

فحص آلي بـ Burp/ZAP، تحقّق يدوي من النتائج، وبناء نموذج تهديدات للتطبيق.

4
الاستغلال اليدوي

اختبار وإثبات الثغرات فعليًا — مصادقة، صلاحيات، منطق عمل، وأمان الجلسات.

5
التقرير والمتابعة

توثيق مفصَّل بأولويات واضحة، ودعم فريق التطوير حتى التأكد من الإصلاح الفعلي.


--Cheat Sheet مرجعي — الأدوات والمصادر

أدوات الفحص والزحف

الأداةالاستخدام
Burp SuiteProxy واختبار يدوي، Passive Crawling، فحص آلي للثغرات
OWASP ZAPفحص آلي مفتوح المصدر، Active/Passive Scanning
Nmapتحديد المنافذ المفتوحة والخدمات الشغّالة على السيرفر
Google Dorksإيجاد ملفات ومجلدات مفهرَسة في محرّكات البحث
HTTrackنسخ هيكل الموقع بالكامل محليًا لرسم خريطة التطبيق
EyeWitnessلقطات شاشة سريعة لمجموعة أهداف أثناء تحديد النطاق
Caidoأداة حديثة لتدقيق أمان الويب — بديل خفيف لـ Burp/ZAP

مصادر مرجعية

Quick Wins — نقطة انطلاق سريعة لأي تقييم

#التحققالأداة/الطريقةالهدف
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، ووصولًا لمرحلة ما قبل الالتزام والاستطلاع وأمان الجلسات.

$ cat ./ewptx_module01_summary.txt

الفكرة الجوهرية للموديول: اختبار الاختراق الاحترافي مش مجرد تشغيل أدوات واستغلال ثغرات — هو عملية منضبطة تبدأ بالاتفاق والتفويض، وتمرّ بفهم عميق للتطبيق قبل أي محاولة استغلال، وتنتهي بتقرير يخدم العميل فعليًا. المنهجية هي الفرق بين اختبار عشوائي واختبار احترافي يقدر يُعاد تنفيذه بنفس الجودة في كل مرة.

Professional Mindset

قبل ما تفتح أي أداة فحص: اتأكد إن النطاق والتفويض موثَّقين كتابيًا، وافهم السياق التجاري للتطبيق مش بس التقني. استطلع بأقصى قدر من الصمت قبل ما تتفاعل مباشرة مع التطبيق، ووثّق كل خطوة أولًا بأول — التقرير بيُبنى أثناء الاختبار، مش بعده.


نهاية نوتس الموديول الأول — Intro to Advanced Web Application Penetration Testing (eWPTXv3)