المجتمع Web Security

الاستطلاع في اختبار الاختراق: كيف تجمع معلومات تغيّر قرارك؟

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

وش المقصود بالاستطلاع هنا؟

Reconnaissance

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

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

ابدأ بسجل صغير يمكن الوثوق به

لكل أصل، سجل الاسم أو العنوان، ودليل ارتباطه بالجهة، ووظيفته المحتملة، وحالة دخوله في النطاق، ومصدر المعلومة وتاريخها. استخدم حالات مثل «مؤكد» و«بحاجة للتحقق» بدل دمج كل شيء في قائمة واحدة كأنه حقيقة.

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

اربط الأصول بتدفق العمل

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

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

كيف ترتب المعلومات بحسب فائدتها؟

قيّم المعلومة بثلاثة أسئلة: هل ترتبط بأصل مصرح؟ هل تغير فهمي لحد أمني؟ هل أستطيع تحويلها إلى اختبار محدد؟ معلومة «يوجد مسار تصدير لا يظهر في تنقلات الحساب العادي» أقرب للعمل من معلومة «الموقع يستخدم تقنية شائعة» من دون أثر آخر.

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

لماذا يأخذ المحترف وقتًا هنا؟

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

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

المخرج المطلوب ليس ملف أسماء فقط

اخرج بخريطة أصول، وعلاقات ثقة، وقائمة وظائف وأدوار، وأسئلة معلقة، وأولويات اختبار. اكتب سبب الأولوية بجملة قصيرة حتى يستطيع زميلك فهمه. مثلًا: «التصدير يجمع بيانات عدة حسابات؛ سنراجع حدود العميل باستخدام سجلات تجريبية».

ولربط هذه المرحلة ببقية المشروع، راجع مقال مراحل اختبار الاختراق:
https://courses.cyberpts.com/community/7/mrahl-akhtbar-alakhtraq-amlya-mn-thdyd-alntaq-ala-aaadh-alakhtbar

يعرض دليل اختبار أمن الويب الاستطلاع واكتشاف سطح التطبيق كأساس للتقييم:
https://wstg.owasp.org/latest/4-Web_Application_Security_Testing/01-Information_Gathering/00-Information_Gathering_Overview/