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

حالة استخدام

يتطلب الاختبار الفعّال لتطبيقات الويب للكشف عن الثغرات الأمنية أدوات متخصصة وهو ما يتطرق إليه هذا الموضوع الفرعي.

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

هناك أدوات إضافية يمكنها اختبار مواقع الويب تلقائيًا لأنواع معينة من الثغرات، مما يمكن أن يؤدي إلى تسريع الاختبار وكشف بعض الثغرات الأمنية التي ربما تكون قد فاتتك.

أخيرًا هناك بعض الأدوات التي ستكون مطلوبة للأنشطة العملية في مسار التعلّم هذا.

الأهداف

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

  • بيرب سويت إصدار المجتمع (Burp Suite Community Edition)
  • حساب مجاني على أكاديمية بورت سويغر (PortSwigger Academy)
  • أداة زد أتاك بروكسي (Zed Attack Proxy أو ZAP اختصارًا)
  • واجهة سطر أوامر دبليو بي سكان (WPScan)
  • داكر (Docker)

العرض

أنواع التقييم

هناك ثلاثة مناهج رئيسية لتقييم أمان تطبيقات الويب:

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

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

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

يجري اختيار كل طريقة بناءً على السياق المحدد للتقييم بما في ذلك المعلومات المتاحة وأهداف المشاركة.

بيرب سويت (Burp Suite)

ما هو خادم وكيل الويب المعترض؟

الأداة الأساسية المستخدمة في تقييمات أمان تطبيقات الويب هي خادم وكيل. اعتراض، وقد تكون على دراية بأنواع أخرى من الوكلاء مثل:

  • سكويد (squid),الذي يستخدم في الغالب للتخزين المؤقت والتحكم في الوصول إلى الشبكة ,
  • بلو كوت (BlueCoat), الذي يشتهر بمراقبة امتثال الشركات (أو المنافسين الآخرين)، أو
  • الوكلاء العكسيون لشبكة توصيل المحتوى مثل تلك المستخدمة من قبل (Fastly) فاستلي, (CloudFlare) كلاود فلير أو(AWS CloudFront) إيه دبليو إس كلاودفرنت.

يأتي وكلاء الويب على الشبكة بين تطبيق الويب وخادم الويب ويؤثران على حركة مرور الشبكة هذه.

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

أجل توضيح إضافي للوكلاء العكسيين، اطلع على هذا الدليل.

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

هناك وكيلان شائعان لاعتراض الويب يُستخدمان للتقييمات الأمنية وهما بيرب سويت من بورت سويغر وأداة زد أتاك بروكسي من سوفتوير سيكيوريتي بروجكت (Software Security Project أو اختصارًا SSP). بيرب سويت هو برنامج مدفوع يأتي مع إصدار مجتمع محدود الميزات في حين أن زد أتاك بروكسي مفتوح المصدر. تتوفر غالبية تمارين الممارسة في مسار التعلّم هذا من بورت سويغر لذلك يتم كتابتها مع وضع استخدام بيرب سويت في الاعتبار، ولكن يمكنك استخدام أي من الوكيلين أو كليهما. نوصي باستخدام بيرب سويت إصدار المجتمع لمعظم المواضيع الفرعية ولكن هناك موضوع فرعي مخصص لاستخدام أداة زد أتاك لعملية تلقائية لاختبار الأمان.

إعداد بيرب سويت الإصدار المجتمعي

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

A screenshot of one of Burp Suites first screens, with Temporary Project in Memory selected

A screenshot of the next Burp Suite screen, with Use Burp defaults selected

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

A screenshot of Burp Suite, with proxy and intercept enabled

A screenshot of the Burp Suite intercept. A web browser has loaded the Internews web page, and the intercept is listing all the requests it makes

اكتب حاليًا عنوان موقع ويب يخص أي موقع في متصفح بيرب المضمن واضغط على إدخال، وستلاحظ أنه لا يحدث شيء في المتصفح. انتقل مرة أخرى إلى بيرب وسترى طلب بروتوكول نقل النص التشعبي الذي أرسله المتصفح وسيضيء زر يقول “الاعتراض قيد التشغيل”. ما حدث هو أن بيرب قد تلقى الطلب من متصفحك ولكنه لم يُعِد توجيهه إلى خادم الويب. بدلاً من ذلك يسمح لك بفحص الطلب وتعديله، ولكن في الوقت الحالي انقر على زر “تشغيل الاعتراض (intercept is on)” لإيقاف الاعتراض. وإذا نظرت إلى كروميوم المضمن في بيرب فسترى صفحة الويب محملة. انتقل مرة أخرى إلى بيرب وانقر على علامة التبويب الفرعية “تاريخ بروتوكول نقل النص التشعبي” في علامة تبويب الوكيل، سترى سجلًا لجميع طلبات بروتوكول نقل النص التشعبي التي أرسلها متصفحك وإذا نقرت على إحداها يمكنك رؤية الطلب الكامل وكذلك الاستجابة من الخادم.

A screenshot of the Burp Suite proxy, collecting HTTP history. The Internews website is in the foreground

إذا كنت ترغب في تعديل طلب تم إرساله بالفعل، انقر بزر الماوس الأيمن على هذا الطلب وحدد “إرسال إلى المكرر (Send to Repeater)”. انتقل إلى علامة التبويب المكرر (Repeater) وسترى الطلب على اليسار. من المستحسن النقر على الفور على زر “إرسال” للحصول على استجابة طبيعية، ويمكنك بعها تعديل الطلب وإرساله بعد التعديل. يمكنك استخدام الزرين “<” و">" للاطلاع على الطلبات والاستجابات السابقة. يعد استخدام علامة تبويب المكرر أمرًا بالغ الأهمية عند إجراء تقييمات الأمان كما سيتضح من المواضيع الفرعية اللاحقة.

A screenshot of the Burp Suite proxy, as it has collected an item of HTTP history and is sending that item to the intruder feature

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

A screenshot of the Burp Suite proxy, as it has collected an item of HTTP history and is sending that item to the repeater feature

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

أكاديمية بورت سويغر

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

يخصص كل واحد من المواضيع الفرعية أدناه قسمًا للقراءة والمخابر من أكاديمية بورت سويغر، وخلال استكمال هذه المهام تأكد من مراجعة جميع الصفحات وإكمال جميع مختبرات المستوى “المتدرب”. يجب عليك أيضًا تجربة جميع مخابر مستوى “الممارس” ولكن حاول ألا تقضي وقتًا مفرطًا في أي مختبر واحد. في حال علقت في مخبر ممارس معين، ما عليك سوى المضي قدمًا والعودة إليه قبل إكمال تمرين التحقق من المهارات النهائي لمسار التعلّم. A screenshot of PortSwigger academy, demonstrating an XSS proof of concept

ضمن موضوع البرمجة النصية عبر المواقع (XSS) على أكاديمية بورت سويغر، تأكد من مراجعة جميع المواضيع الفرعية، حيث تقع أقسام “ما هي البرمجة النصية عبر المواقع (XSS)” حتى “الاختبار” كلها على صفحة ويب واحدة، ولكن لكل موضوع فرعي صفحته الخاصة.

A screenshot of PortSwigger academy, demonstrating reflected XSS

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

A screenshot of PortSwigger academy, demonstrating three labs in the reflected XSS subtopic

بعد الانتهاء من موضوع ما (مثل البرمجة النصية عبر المواقع)، تحقق مرة أخرى من إكمال المخبر عن طريق التحقق من رابط “عرض جميع مخابر الموضوع”، مما يتيح لك رؤية أي فحوصات مخبرية فاتتك.

** جربه بنفسك !!**

توجه إلى أكاديمية بورت سويغروسجّل حسابًا.

‼️ إذا كنت تشعر بأنك عالق في مخبر ما، يمكنك الاطلاع على عدد من أدلة التوجيه خطوة بخطوة والأدلة التوجيهيةعلى يوتيوب والمدونات، لكن لاحظ أنه من غير المرجح أن يكون اتباع أدلة التوجيه خطوة بخطوة مفيدًا جدًا لتعلمك. إذا وجدت نفسك بحاجة إلى عدة أدلة توجيه خطوة بخطوة كي تجتاز المخابر، فقد ترغب في العودة خطوة إلى الوراء وإعادة قراءة المواد ثم أعد محاولة اجتياز بعض المخابر التي أكملتها سابقًا بحذر مستخدمًا أدلة التوجيه خطوة بخطوة.

أداة زد أتاك بروكسي

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

جربه بنفسك!

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

داكر (Docker)

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

جربه بنفسك!

ثبّت داكر لسطح المكتب، علمًا أنك لن تحتاج إلى التسجيل للحصول على حساب أو الحصول على ترخيص تجاري لإكمال مسار التعلّم هذا. لاحظ أنه من المحتمل أنك أكملته كجزء من مسار تعلم أساسيات أمان تطبيقات الويب.

إس كيو إل ماب (sqlmap)

بينما يمكن للبشر أن يكونوا ماهرين جدًا في العثور على ثغرات حقن لغة الاستعلامات البنيوية (اختصارا بالانجليزية: إس كيو إل SQL)، فإن استغلال هذه الثغرات غالبًا ما يتطلب عملاً متكرراً للغاية. يعتبر إس كيو إل ماب أداة لحقن إس كيو إل تتفوق في عملية الاستغلال. تحتوي إس كيو إل ماب على برامج نصية تكتشف كيفية تعداد بنية قاعدة البيانات واستخراج المحتوى من قاعدة البيانات هذه باستخدام حقن لغة الاستعلامات البنيوية، وهو أمر مفيد جدًا لإظهار خطورة ثغرات حقن لغة الاستعلامات البنيوية ولإيجاد ثغرات أخرى تتعلق بتخزين البيانات.

** جربه بنفسك!** ثبّت إس كيو إل ماب. يمكنك إما تنزيله (يعمل على بايثون) أو استخدام حزمة كالي.

واجهة سطر أوامر دبليو بي سكان (WPScan)

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

جربه بنفسك!

ثبّت واجهة سطر الأوامر دبليو بي سكان، ولاحظ أنه يمكن القيام بذلك من المصدر أو من مدير الحزم (مثل هومبرو (homebrew) أو روبيجمز (rubygems)) أو كحاوية داكر أو باستخدام الإصدار المضمّن في العديد من توزيعات الجهاز الظاهري لاختبار الاختراق مثل كالي لينوكس. الأمر متروك لك وبإمكانك الاختيار، علمًا أننا سنغطي دبليو بي سكان في الموضوع الفرعي المتعلق بالأتمتة.

الممارسة

تأكد من تثبيت وإعداد الأدوات التالية التي أدرجناها أيضًا أعلاه:

  • بيرب سويت (أعمال الإصدار المجتمعي)
  • أداة زد أتاك بروكسي (Zed Attack Proxy أو ZAP اختصارًا)
  • داكر لسطح المكتب
  • إس كيو إل ماب (sqlmap)
  • واجهة سطر أوامر دبليو بي سكان

اختبار مهارة

لا يوجد اختبار مهارة

موارد التعلّم

PortSwigger Academy

Free

Collection of explainers and labs on web application security.

اللغات: English
زيارة الموقع

What is a reverse proxy?

Free

Overview of reverse proxy compared to forward proxy.

اللغات: German, Spanish, French, Italian, Japanese, Korean, Portuguese, Chinese, Taiwanese
زيارة الموقع

Proxy server

Free

Introduction to the concept of a proxy server.

اللغات: 54 languages
زيارة الموقع

Fuzzing

Free

Simple explanation of fuzzing from OWASP documentation.

اللغات: English
زيارة الموقع

Squid cache

Free

Proxy software that can be deployed by anyone.

اللغات: English
زيارة الموقع

Commercial proxies and content delivery networks

Varied

Fastly, Cloudflare, Amazon CloudFront.

اللغات: Many languages, depends on the product
زيارة الموقع

Burp Suite

Community version is free, Pro edition costs $449 per user

Popular web security testing tool.

اللغات: English
زيارة الموقع

ZAP

Free

Popular security testing tool for web apps.

اللغات: English
زيارة الموقع

Docker Desktop

Free

Tool to install containers containing executable applications.

اللغات: English
زيارة الموقع