المجتمع أخرى

التعداد في اختبار الاختراق: كيف تحول الخدمات والوظائف إلى خريطة اختبار؟

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

من الاكتشاف إلى التفاصيل المفيدة

Enumeration

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

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

في الشبكة: المنفذ بداية السؤال

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

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

في الويب: احصر الوظائف والحالات والأدوار

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

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

كيف تستخدم الأدوات من غير ما تغرق في نتائجها؟

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

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

مثال: لماذا وظيفة التصدير تستحق الحصر؟

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

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

متى يكفي التعداد للانتقال؟

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

وللتدرب، اختر ميزة واحدة في مختبرك، واكتب عشر حالات مرتبطة بالملكية والدور والحالة الزمنية قبل تجربتها. ستلاحظ أن التعمق في ميزة واحدة قد يعلمك أكثر من فحص عشر صفحات بالطريقة نفسها. اقرأ أيضًا كيف تبني فرضية قابلة للاختبار:
https://courses.cyberpts.com/community/10/kyf-tfkr-kmkhtbr-akhtraq-and-rwyh-hdf-jdyd