
إضافة Burp لاختبار مشكلات التفويض. إعادة تكرار الطلبات تلقائيًا واستخراج قيم المعلمات أثناء التنفيذ.
إضافة Burp تساعدك في العثور على ثغرات الصلاحيات. فقط تصفح تطبيق الويب كمستخدم ذي صلاحيات عالية واترك Auth Analyzer يكرر طلباتك لأي مستخدم غير مصرح له معرف مسبقًا. مع إمكانية تعريف المعاملات، يستطيع Auth Analyzer استخراج واستبدال قيم المعاملات تلقائيًا. بهذا، يمكن استخراج رموز CSRF أو حتى خصائص الجلسة بأكملها من الاستجابات واستبدالها في الطلبات اللاحقة. يتم تحليل كل استجابة ووسمها بحالة التجاوز.
توجد إضافات Burp أخرى تقوم بأشياء مشابهة أساسًا. لكن قوة ميزة المعاملات والاستخراج التلقائي للقيم هي السبب الرئيسي لاختيار Auth Analyzer. بهذا لا تحتاج إلى معرفة محتوى البيانات التي يجب تبادلها. يمكنك بسهولة تعريف معاملاتك وكوكيزك وسيقوم Auth Analyzer بالتقاط القيم المطلوبة أثناء التنقل. لا يقوم Auth Analyzer بأي طلبات استباقية. إنه يفعل أساسًا نفس الشيء الذي يفعله تطبيق الويب الخاص بك. باستخدام أدوار/جلسات المستخدمين التي حددتها.
(1) إنشاء أو استنساخ جلسة لكل مستخدم تريد اختباره.
(2) حفظ واستيراد إعدادات الجلسة
(3) تحديد خصائص الجلسة (الرؤوس و/أو المعاملات المراد استبدالها)
(4) ضبط المرشحات إذا لزم الأمر
(5) بدء / إيقاف / إيقاف مؤقت لـ Auth Analyzer
(6) تحديد مرشح الجدول
(7) التصفح عبر تطبيق الويب بمستخدم آخر وتتبع نتائج الطلبات المكررة
(8) تصدير بيانات الجدول إلى XML أو HTML
(9) تحليل الطلبات/الاستجابات الأصلية والمكررة يدويًا

إذا كان لديك الموارد التي تريد اختبارها في خريطة موقعك، فمن السهل جدًا وسريع إجراء اختبارات الصلاحيات الخاصة بك. في الخطوة الأولى حدد الجلسات التي تريد اختبارها. ثم قم بتوسيع خريطة موقعك، وحدد الموارد وكرر الطلبات من خلال قائمة السياق. بالإضافة إلى ذلك، يمكنك تحديد بعض الخيارات حول الطلبات التي يجب تكرارها والتي لا يجب. بهذا يمكنك إجراء اختبارات الصلاحيات لموقع ويب معقد في غضون ثوانٍ.
لدى Auth Analyzer إمكانية تعريف معاملات يتم استبدالها قبل تكرار الطلب للجلسة المعطاة. يمكن تعيين قيمة المعامل وفقًا لمتطلبات مختلفة.
سيتم استخراج قيمة المعامل إذا ظهرت في استجابة مع أحد القيود التالية:
استجابة تحتوي على رأس Set-Cookie مع اسم كوكي مضبوط على اسم الحقل المستخرج المحدد
استجابة مستند HTML تحتوي على حقل إدخال بسمة الاسم المضبوطة على اسم الحقل المستخرج المحدد
استجابة JSON تحتوي على مفتاح مضبوط على اسم الحقل المستخرج
افتراضيًا، يحاول Auth Analyzer استخراج قيمة المعامل تلقائيًا من جميع المواقع. ومع ذلك، فإن النقر على أيقونة إعدادات المعامل يسمح لك بتقييد موقع الاستخراج التلقائي وفقًا لاحتياجاتك.

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

يمكن تعريف قيمة معامل ثابتة. يمكن استخدام هذا مثلاً لرموز CSRF الثابتة أو بيانات تسجيل الدخول.
سيُطلب منك إدخال إذا كان المعامل المحدد موجودًا في طلب. يمكن استخدام هذا مثلاً لتعيين رموز المصادقة الثنائية (2FA).
إذا تم تعيين قيمة (مستخرجة أو معرفة من قبل المستخدم) فسيتم استبدالها إذا كان المعامل المقابل موجودًا في طلب. شروط استبدال المعاملات هي:
سيتم استبدال المعامل إذا كان موجودًا في أحد المواقع التالية:

في المسار (In Path) (مثل /api/user/99/profile --> إذا كان معامل باسم user موجودًا، سيتم استبدال القيمة 99)
معامل عنوان URL (URL Parameter) (مثل email=hans.wurst[a]gmail.com)
معامل الكوكي (Cookie Parameter) (مثل PHPSESSID=mb8rkrcdg8765dt91vpum4u21v)
معامل الجسم (Body Parameter) إما مشفر بعنوان URL أو بيانات نموذج متعددة الأجزاء (Multipart Form Data)
معامل JSON (JSON Parameter) (مثل {"email":"hans.wurst[a]gmail.com"})
افتراضيًا، سيتم استبدال قيمة المعامل في كل موقع. ومع ذلك، فإن النقر على أيقونة إعدادات المعامل يسمح لك بتقييد الموقع وفقًا لاحتياجاتك.

يمكن إزالة المعامل المحدد بالكامل مثلاً لاختبار آليات فحص CSRF.
حدد اسم المستخدم وكلمة المرور كـ قيمة ثابتة. يجب تعريف اسم كوكي الجلسة كـ استخراج تلقائي. تأكد من أنك تبدأ التصفح عبر التطبيق بدون تعيين كوكي جلسة. قم بتسجيل الدخول إلى تطبيق الويب. سيقوم Auth Analyzer بتكرار طلب تسجيل الدخول باستخدام المعاملات الثابتة ويحصل تلقائيًا على الجلسة من رأس Set-Cookie. سيتم استخدام هذه الكوكي للطلبات اللاحقة للجلسة المعطاة. سيتم معاملة الكوكي المحددة كمعامل وبالتالي لا يلزم تعريف رأس كوكي.

تلميح: يمكنك تقييد شروط الاستخراج والاستبدال لمعامل لتجنب الخلل في مرحلة الاستخراج/الاستبدال.

حدد رأس كوكي ورمز CSRF (مع استخراج قيمة تلقائي). سيتم استخراج قيمة رمز CSRF إذا كان موجودًا في وسم إدخال HTML أو رأس Set-Cookie أو استجابة JSON للجلسة المعطاة.

نظرًا لأن طريقة الاستخراج التلقائي تعمل فقط على حقول إدخال HTML أو كائنات JSON أو رؤوس Set-Cookie، يجب علينا استخدام طريقة الاستخراج العامة المسماة من نص إلى نص (From To String). باستخدام طريقة الاستخراج هذه يمكننا استخراج أي قيمة من استجابة إذا كانت موجودة بين سلسلة بداية ونهاية فريدة. يوفر Auth Analyzer طريقة قائمة سياق لتعيين النص من والنص إلى تلقائيًا. فقط حدد السلسلة التي تريد استخراجها واضبطها كـ استخراج من-إلى من قائمة السياق.

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

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

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

يمكن إسقاط الطلبات الأصلية لاختبار العمليات غير القابلة للتغيير (مثل وظيفة DELETE).

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

يمكنك بسهولة اختبار عدد كبير من نقاط النهاية على إعدادات CORS الفردية الخاصة بها عن طريق إضافة رأس Origin في الرؤوس المراد استبدالها واختيار اختبار CORS في لوحة الجلسة. عند تحديد اختبار CORS، سيقوم Auth Analyzer بتغيير طريقة HTTP إلى OPTIONS قبل تكرار الطلب.

يمكن إزالة معامل محدد عن طريق تحديد خانة الإزالة. يمكن استخدام هذا مثلاً لاختبار آلية فحص CSRF.

يوفر Auth Analyzer عرض مقارنة مدمج للتحقق من الاختلافات بين استجابتين. فقط حدد الرسالة التي تريد تحليلها وقم بتغيير عرض الرسالة (1). يمكنك الآن مقارنة الطلبين (2) (3). ستحسب ميزة الفرق (Diff) المدمجة وتعرض الاختلافات بين الطلبين في الوقت الفعلي (4).

عرض الفرق الموسع:

يجب على Auth Analyzer معالجة نوعين من الطلبات/الاستجابات:
تحتوي الاستجابة على قيمة يجب استخراجها
لا ينبغي أن يكون المورد المطلوب متاحًا للجلسة (الجلسات) المحددة
على سبيل المثال، لا نريد معالجة ملف JavaScript ثابت لأنه متاح للجميع و(نأمل) لا يحتوي على أي بيانات محمية. لتحقيق ذلك، يمكننا تعيين أنواع المرشحات التالية:
كلا الاستجابتين لهما نفس نص الاستجابة ونفس رمز الاستجابةكلا الاستجابتين لهما نفس رمز الاستجابة وكلا الاستجابتين لهما +-5% من طول نص الاستجابة