تخطي إلى المحتوى

نظرة عامة

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

  • الحرمان من التعبير: إزالة موقع الويب أو تشويه الموقع أو حجب الخدمة
  • الوصول إلى البيانات الحساسة: استغلال عناصر التحكم في الوصول أو أنواع الثغرات الأخرى للوصول إلى المعلومات، على سبيل المثال في قواعد بيانات التطبيقات أو الملفات أو الأنظمة الخاصة أو صناديق الوارد الخاصة أو مناطق الأعضاء
  • زرع البرمجيات الخبيثة (هجمات “حفرة الري”): استخدام الوصول إلى موقع ويب لوضع رمز ضار أو مضلل لغرض تحقيق الأهداف على أجهزة الزوار
  • الحركة الجانبية (اختراق الأنظمة الأخرى): الوصول إلى خوادم كاملة أو بنية تحتية سحابية أو بنية تحتية مكتبية أو منزلية
  • مراقبة الزوار: الحصول على معلومات حول عناوين بروتوكول الإنترنت أو هويات زوار موقع ويب أو مستخدمي تطبيق ويب اختراق سلسلة التوريد: اختراق خدمات التوزيع للبرامج أو بناء عمليات البرامج أو لمكتبات مكونات البرامج من أجل تحقيق أهداف ضارة تؤثر على مستخدمي البرامج المستهدفة
  • انتحال هوية مواقع الويب: لأغراض التصيد الاحتيالي وتشويه السمعة وتوزيع البرمجيات الضارة/برمجيات التجسس
  • الحقن في حركة المرور (هجمات خفض الدرجة): استغلال نقاط ضعف البنية التحتية أو تكوين الاتصالات لغرض إدراج محتوى ضار ضمن حركة مرور تكون سليمة خلاف ذلك

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

ما هو تطبيق الويب؟

تُشير تطبيقات الويب إلى فئة أوسع من البرامج التي تُشغل خدمات ديناميكية على الويب، وتُعدّ صفحة الويب أحد أنواع تطبيقات الويب على الرغم من أن صفحة لغة تمييز النص التشعبي الثابتة لا تُعتبر عمومًا إحداها. تتضمن تطبيقات الويب عادةً نوعًا من معالجة البيانات من جانب العميل و/أو الخادم وتخزينها واسترجاعها مع محتوى ديناميكي، وتعتمد عمومًا على البنية التحتية مثل قواعد البيانات أو الخوادم الإضافية أو الخدمات السحابية (بما في ذلك “التعليمات البرمجية بلا خادم”). تُعدّ منصات أنظمة إدارة المحتوى الشائعة مثل ووردبرس (WordPress) أو دروبل (Drupal) تطبيقات ويب، حيث تقوم العديد من المنظمات بنشر تطبيقات مختلفة لأداء الوظائف الداخلية أو الخارجية مثل قاعدة بيانات الأعضاء وأداة إدارة علاقات الأعضاء ونظام المعلومات الصحية ونظام التذاكر والأدوات التشغيلية الداخلية وغيرها الكثير. تقوم بعض المؤسسات بتطوير تطبيقات الويب المخصصة الخاصة بها والتي تُناسب أغراضها الخاصة، ومنصات خدمة الإنترنت الرئيسية مثل ميل تشيمب (MailChimp) وسلاك (Slack) وكانفا (Canva) وإكس (X) وما شابهها، فجميعها تطبيقات ويب أيضًا، ويؤثر أمانها على مستخدميها أيضًا، ولكن لهذه الكيانات الكبيرة فرق أمان خاصة بها وبرامج المكافآت لكشف الأخطاء تُجري أو تُشجع مراجعات أمان تطبيقات الويب الاحترافية لهم. ومن ناحية أخرى، غالبًا ما لا تمتلك المؤسسات الأصغر التي قد تعمل لصالحها الموارد اللازمة لإجراء مراجعات أمان تطبيقات الويب وقد تكون أنت أول من يفعل ذلك.

ما الثغرات الأمنية؟

هناك العديد من أنواع الأخطاء التي يمكن أن تظهر في أي نظام معقد، وعادة ما نعتقد أنها أخطاء عادية حيث يسمح النظام لمستخدميه بالقيام بأقل مما كان مقصودًا مثل “عندما أضغط على ’إضافة إلى سلة التسوق‘ يعرض موقع الويب صفحة خطأ فقط.” لكن تسمح بعض العيوب للمستخدمين بالقيام بأكثر مما كان مقصودًا، وعندما تؤثر هذه العيوب سلبًا على النظام أو مستخدميه الآخرين نعتبرها ثغرات. تتضمن أمثلة الثغرات الأمنية الأخطاء التي تسمح لمستخدم واحد بقراءة بيانات المستخدمين الآخرين أو تعديلها والتحكم في البنية التحتية لموقع الويب ورفض استخدام نظام للمستخدمين الآخرين وما إلى ذلك. عند التفكير في الثغرات من المفيد تصنيفها حسب النوع، حيث يوفر مسار التعلّم هذا نظرة عامة على فئات الثغرات الشائعة في تطبيقات الويب وكيف يمكن للمهاجم استخدامها لإلحاق الضرر بموقع ويب أو مستخدميه.

الهدف

سيتعلّم الممارسون المفاهيم الأساسية لأمن تطبيقات الويب والتي توفر الخلفية المطلوبة لدراسة المواضيع الإضافية في أمن تطبيقات الويب، وسيتمكنون من فهم المفاهيم الرئيسية لأمن تطبيقات الويب، بما في ذلك:

  • ثغرات البنية التحتية
  • التحقق من صحة البيانات
  • المصادقة
  • التخويل
  • ثغرات منطق تسلسل العمل

ما هي التهديدات التي تُخففها أو تستجيب لها هذه المهارة؟

  • ثغرة تطبيق ويب
  • الاستيلاء على حساب تطبيق الويب
  • حجب الخدمة لتطبيق الويب
  • هجمات حفرة الري

ما هي المتطلبات المسبقة للدورة؟

  • إلمام أساسي بلغة تمييز النص التشعبي مثل مخطط المستندات المكتوبة بهذه اللغة والقدرة على قراءة ما هو بسيط منها، ولأجل مقدمة رائعة يمكن الاطلاع على إم دي إن MDN.
  • تُعدّ مفاهيم لغة البرمجة الأساسية والقدرة على قراءة جافا سكريبت بسيطة، ونوصي بمقدمة إم دي إنMDN introduction حول الموضوع.
  • الفهم الأساسي لكيفية عمل بروتوكول نقل النص التشعبي وكيفية تواصل المتصفح مع موقع الويب وكيف تبدو طلبات واستجابات بروتوكول نقل النص التشعبي ضمن هذا البروتوكول، ونوصي بقراءة مقدمة حول هذه المواضيع متاحة في هذه المقالة في هذه المقالة.
  • فهم أساسي للغة الاستعلامات البنيوية (SQL) يكفي لاستيعاب الأوامر البسيطة وكيفية صياغتها، ويمكن العثور على مقدمة على sqlzoo.
  • إلمام أساسي بكيفية عمل سطر الأوامر على نظام تشغيل تختاره وكيفية تشغيل الأوامر عليه، ويمكن الاطلاع على مقدمة جيدة على إم دي إنMDN.
  • هناك تمرين اختبار مهارة واحد في الموضوع الفرعي حول التخويل والذي يتطلب معرفة أساسية بلغة برمجة بايثون (ولكنه مكتوب بتعليمات بسيطة للغاية ومن المفترض أن يكون من الممكن أن يتمكن من قراءته أولئك الذين يُجيدون لغات أخرى أيضًا). إذا لم تكن على دراية بلغات التعليمات البرمجية فيمكنك تخطي هذا التمرين.

ما هي الأجهزة أو البرمجيات التي تحتاجها لأداء التمارين؟

لأجل إكمال مسار التعلّم هذا سنستخدم موقعًا إلكترونيًا يسمى دي في دبليو إيه (Damn Vulnerable Web App أو DVWA اختصارًا)، ويُعدّ هذا التطبيق تطبيق ويب يعاني من عدد مختلف من الثغرات موجودة عن قصد ويتطلب الحد الأدنى من الإعداد قبل استخدامه، وهو متاح أيضًا عبر الإنترنت ويمكن استخدامه دون إعداد إطلاقًا.

  • تُعتبر أسهل طريقة للعمل مع دي في دبليو إيه والأدوات الأخرى في مسار التعلّم هذا هي استخدام توزيعة مثل كالي لينوكس (Kali Linux) حيث يكون دي في دبليو إيه موجودًا بالفعل، ومن الأسهل تشغيل كالي على جهاز ظاهري وفتح دي في دبليو إيه DVWA GitHub repository عليه لإكمال مسار التعلّم هذا.

  • من أجل تشغيل كالي لينوكس على جهاز ظاهري ستحتاج إلى جهاز كمبيوتر يحتوي على معالج x86 (بالتالي لا يمكن أن تعمل آبل سيليكون (Apple Silicon) أو رازبيري باي (Raspberry Pi))، وحوالي 8 جيجابايت من ذاكرة الوصول العشوائي ومساحة كافية على القرص وعرض النطاق الترددي لتنزيل وتثبيت جهاز كالي الظاهري.

  • ولمعرفة كيفية إعداد الأجهزة الظاهرية، اتبع الفصل 6 من الدليل الميداني للاستجابة للحوادث للمجتمع المدني ووسائل الإعلام، ما عليك سوى تنزيل صورة كالي لينوكس بدلًا من ريمنوكس (REMNux).

بدلًا من ذلك إذا كنت معتادًا على داكر (Docker) أو تقنيات المحاكاة الظاهرية الأخرى فلا تتردد في تنزيل وتثبيت دي في دبليو إيه (Docker instructions)

  • إذا كنت تُفضل عدم تثبيت دي في دبليو إيه محليًا فهو متاح عبر الإنترنت على تراي هاك مي online at TryHackMe. إذا قمت بالتسجيل للحصول على حساب مجاني وبدء تشغيل جهاز دي في دبليو إيه ثم تشغيل صندوق هجوم (Attack Box)، يمكنك إكمال جميع التمارين مباشرة من متصفحك.

قبل بدء أي من التمارين تذكر تسجيل الدخول إلى دي في دبليو إيه (بيانات الاعتماد الافتراضية هي admin / password) وتأكد من تعيين مستوى الأمان ليكون “منخفضًا (Low)”.

مسارات التعلّم ذات الصلة

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

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

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