الانتقال إلى المحتوى الرئيسي
داخل مختبر FortMind: اختراق تطبيق ويب من متصفحك
Labs

داخل مختبر FortMind: اختراق تطبيق ويب من متصفحك

٧ نوفمبر ٢٠٢٦Labs, Web Security, Broken Access Control, OWASP Top 10, FM-F100

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

عبارة «تدريب عملي» من أكثر العبارات استهلاكًا في تعليم الأمن السيبراني. فكثيرًا ما تعني مقطع فيديو واختبارًا قصيرًا ولقطة شاشة لطرفية شخص آخر. أما في FortMind، فكل درس ينتهي بمختبر تهاجمه بنفسك، ومن المتصفح نفسه الذي تقرأ فيه هذه السطور.

نستعرض في هذا المقال مختبرًا حقيقيًا من بدايته إلى نهايته، لترى بالضبط ما يعيشه المتدرّب في FortMind. المختبر اسمه Quillpad، وهو المشروع الختامي لوحدة «كيف يعمل الويب» في دورتنا التأسيسية FM-F100. وQuillpad موقع خيالي صغير لتدوين الملاحظات، فيه منطقة مخصصة للموظفين ليست محمية كما يظن مطوّروه.

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

رحلة المتدرّب: اقرأ الدرس، شغّل المختبر، افتح سطح المكتب، استطلع الهدف، استغل الثغرة، سلّم العلَم

الخطوة الأولى: ابدأ بالدرس لا بالمختبر

كل مختبر جزء من درس. فقبل أن تلمس أي جهاز، يشرح لك الدرس الأفكار التي سيختبرها المختبر. وفي حالة Quillpad، هذه هي دروس الوحدة السابقة: كيف يتحدث المتصفح مع الخادم، وما الذي تحمله طلبات HTTP واستجاباته، وكيف تُبنى صفحات HTML، وما وظيفة ملفات تعريف الارتباط (Cookies).

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

وفي صفحة الدرس نفسها توجد لوحة المختبر، ومنها تشغّل الأجهزة، وترى ما هو متاح لك منها، ثم تسلّم العلَم في النهاية.

الخطوة الثانية: شغّل المختبر بنقرة واحدة

حين تضغط زر التشغيل، تبني FortMind نسخة جديدة وخاصة من المختبر لك وحدك. وفي مختبر Quillpad، يعني ذلك جهازين:

  • kali: جهاز الهجوم الذي تتحكم فيه، وهو سطح مكتب لينكس فيه متصفح ويب وطرفية أوامر.
  • quillpad: خادم الويب المستهدف الذي ستهاجمه.

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

وبعد انتظار قصير ريثما تُقلع الأجهزة، تتحول حالة اللوحة إلى «قيد التشغيل» ويظهر سطح المكتب.

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

الخطوة الثالثة: جهاز الهجوم داخل تبويب في متصفحك

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

ما الذي يعمل وأين: متصفحك يتصل ببوابة FortMind، وهي تبث سطح مكتب شبكة مختبر خاصة لا تتصل بالإنترنت

وتفصيلتان تجعلان التجربة أقرب إلى مهمة حقيقية منها إلى لعبة:

  1. للهدف اسم لا عنوان رقمي فقط. داخل المختبر يستجيب الهدف للاسم quillpad.fortmind.lab، ويُضبط هذا الاسم على جهاز الهجوم تلقائيًا عند تشغيل المختبر، فتتعامل معه كما تتعامل مع أي موقع حقيقي.
  2. لا تحصل على وحدة تحكم في الجهاز المستهدف. لا تعرض لوحة المختبر إلا الأجهزة المخصصة لك، أما Quillpad فخادم تهاجمه عبر الشبكة تمامًا كما تهاجم هدفًا حقيقيًا، بلا أي طريق مختصر إلى داخله.

الخطوة الرابعة: الاستطلاع، أي قراءة الموقع بعين المهاجم

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

وعلى أي موقع ويب، تشمل الجولة الأولى الجيدة أربعة أماكن:

أين يبحث المهاجمون: مصدر الصفحة، وملف robots.txt، والمسارات المخفية بقوائم الكلمات، والترويسات وملفات تعريف الارتباط

  • مصدر الصفحة. ما تراه في المتصفح ليس كل ما أرسله الخادم. فتعليقات HTML والحقول المخفية في النماذج وأسماء ملفات البرمجيات والروابط التي لا تظهر على الشاشة كلها مكشوفة عبر «عرض المصدر»، والمطوّرون يتركون فيها ملاحظات أكثر مما ينبغي.
  • ملف robots.txt. ملف علني يخبر محركات البحث بالأجزاء التي يُفضل أن تتجاهلها من الموقع. هو طلب مهذب لا وسيلة حماية، وقائمة «من فضلك لا تنظر هنا» هي بالنسبة إلى المهاجم قائمة بأماكن تستحق النظر.
  • المسارات المخفية. أدوات مثل gobuster وdirb ترسل آلاف الأسماء الشائعة للمجلدات والملفات إلى الموقع، وتخبرك بما هو موجود منها فعلًا. وبهذه الطريقة تُكتشف النسخ الاحتياطية القديمة وصفحات الاختبار ومناطق الإدارة التي لا يشير إليها أي رابط.
  • الترويسات وملفات تعريف الارتباط. باستخدام الأمر curl -i في الطرفية، أو أدوات المطوّر في المتصفح، ترى ما يضعه الخادم في متصفحك وما ينتظر أن تعيده إليه. وملف تعريف الارتباط ليس تفصيلًا تقنيًا عابرًا، بل شيء قرر الخادم أن يثق به.

المهارة التي يبنيها هذا المختبر هي تتبّع الأثر: كل استجابة دليل، وكل دليل يدلّك على المكان التالي. فدوّن كل شيء. ففي Quillpad، كما في كثير من المواقع الحقيقية، قد تشرح ملاحظة واحدة منسية التطبيق كله.

الخطوة الخامسة: الثغرة هي الثقة بما يرسله المستخدم

في Quillpad منطقة مخصصة للموظفين، وإذا زرتها كزائر عادي رفضك الخادم بأدب. والسؤال المثير هنا: كيف يقرر الخادم من هو الموظف؟

يقودنا هذا السؤال إلى واحدة من أشهر ثغرات الويب: خلل التحكم في الوصول (Broken Access Control). وهي تحتل المرتبة الأولى (A01) في قائمة OWASP لأخطر عشر ثغرات (OWASP Top 10) لعام 2021، وهي أشهر قائمة لمخاطر أمن تطبيقات الويب.

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

خلل التحكم في الوصول: الخادم الضعيف يثق بقيمة الدور في ملف تعريف ارتباط يستطيع المهاجم تعديله، والخادم المُصلَح يحفظ الدور لديه ويرفض الطلب

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

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

الخطوة السادسة: سلّم العلَم

تعود إلى صفحة الدرس وتلصق العلَم في لوحة المختبر، فإذا كان صحيحًا اكتمل الدرس وتقدّمت في الدورة.

العلَم دليل على المهارة، لكن المهارة نفسها هي التسلسل الذي اتبعته للتو: تقرأ الدرس، وترسم خريطة الهدف، وتتبع الأدلة، وتكوّن تصورًا عن طريقة اتخاذ التطبيق لقراراته، ثم تختبر هذا التصور. وهذا التسلسل واحد، سواء كان الهدف موقعًا تدريبيًا أو مهمة اختبار اختراق (Penetration Test) حقيقية.

كيف يمنع المطوّرون هذه الثغرة

المختبر الجيد يعلّم الجانبين. فبعد أن تخترق Quillpad، يأتي السؤال التالي: كيف كان ينبغي لمطوّريه أن يبنوه؟

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

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

  • تحقق من الصلاحيات على الخادم في كل طلب، لا في صفحة تسجيل الدخول وحدها، ولا في شيفرة JavaScript فقط.
  • اجعل الرفض هو الأصل، فلا يُقبل أي طلب ما لم تسمح به قاعدة صريحة.
  • احفظ الهوية والأدوار على الخادم، ولا تترك في المتصفح إلا معرّف جلسة عشوائيًا يصعب تخمينه.
  • تعامل مع robots.txt والروابط غير المعلنة على أنها علنية؛ فهي لافتات لا أقفال.
  • لا تنشر ملاحظات المطوّرين؛ فالتعليقات والنسخ الاحتياطية وميزات التصحيح «المؤقتة» تنتهي أمام أعين المهاجمين.
  • سجّل الطلبات المرفوضة؛ فتتابع استجابات 403 يعني غالبًا أن أحدًا يتحسس النظام.

آداب المختبر: كيف تبدأ الجلسة وكيف تنتهي

المختبرات مؤقتة بطبيعتها، وهذا بالضبط ما يجعل العبث بها آمنًا.

دورة حياة المختبر: تشغيل نسخة جديدة، ثم العمل، ثم تنبيه بعد عشر دقائق من الخمول، ثم إيقاف تلقائي بعد خمس عشرة دقيقة

  • كل تشغيل نسخة جديدة. إذا أفسدت شيئًا إفسادًا كبيرًا، فأوقف المختبر وشغّله من جديد، ولن ينتقل شيء من الجلسة السابقة.
  • النشاط يُبقي المختبر قائمًا. ما دمت تعمل داخل التبويب، يظل المختبر يعمل.
  • المختبر الخامل يتوقف وحده. بعد عشر دقائق دون نشاط يظهر تنبيه فيه زر «ما زلت أعمل»، وبعد خمس عشرة دقيقة من الخمول يتوقف المختبر تلقائيًا.
  • أوقفه حين تنتهي، لتتحرر الأجهزة للمتدرّب التالي.

إلى أين يقودك هذا المختبر

Quillpad مختبر للمبتدئين، وفيه تجمع دورة FM-F100 وحدة «كيف يعمل الويب» كلها في هجوم واحد. والعادات نفسها ترافقك في المراحل التالية:

  • FM-O200، دورتنا في اختبار الاختراق، تأخذك عبر مراحل اختبار الاختراق كاملة على أهداف أكثر تنوعًا، منها ثغرات ويب أخرى وخدمات شبكية ورفع للصلاحيات.
  • FM-O300 تطبّق العقلية نفسها على بيئة Active Directory وأساليب عمل الفريق الأحمر (Red Team) داخل بيئة مؤسسية متكاملة.

وكل مرحلة هي التجربة نفسها التي قرأت عنها للتو: درس، ومختبر خاص في متصفحك، وعلَم عليك أن تستحقه.

ابدأ بمختبر مجاني

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

العودة إلى المدونة
داخل مختبر FortMind: اختراق تطبيق ويب من متصفحك — FortMind | FortMind