
AuthMatrix هو امتداد لـ Burp Suite يوفر طريقة بسيطة لاختبار التفويض في تطبيقات الويب وخدمات الويب.
AuthMatrix هي إضافة لـ Burp Suite توفر طريقة بسيطة لاختبار التفويض في تطبيقات وخدمات الويب. باستخدام AuthMatrix، يركز المختبرون على تحديد جداول المستخدمين والأدوار والطلبات لتطبيقهم المستهدف بشكل شامل مسبقًا. تُنظم هذه الجداول بتنسيق مشابه لجدول مصفوفة التحكم في الوصول الشائع في منهجيات نمذجة التهديدات المختلفة.
بمجرد تجميع الجداول، يمكن للمختبرين استخدام واجهة النقر للتشغيل البسيطة لبدء جميع مجموعات الأدوار والطلبات. يمكن تأكيد النتائج بواجهة سهلة القراءة ومرمزة بالألوان تشير إلى أي ثغرات في التفويض تم اكتشافها في النظام. بالإضافة إلى ذلك، توفر الإضافة القدرة على حفظ وتحميل تكوينات الهدف لإجراء اختبارات الانحدار البسيطة.
يمكن تثبيت AuthMatrix من خلال BApp Store الخاص بـ Burp Suite. من داخل Burp Suite، اختر علامة التبويب Extender، ثم اختر BApp Store، واختر AuthMatrix، ثم انقر فوق تثبيت.
للتثبيت اليدوي، قم بتنزيل AuthMatrix.py من هذا المستودع. ثم من داخل Burp Suite، اختر علامة التبويب Extender، وانقر فوق الزر Add، وقم بتغيير نوع الإضافة إلى Python، واختر ملف Python الخاص بـ AuthMatrix.
يتطلب AuthMatrix تكوين Burp Suite لاستخدام Jython. توجد إرشادات سهلة لذلك على الرابط التالي.
https://portswigger.net/burp/help/extender.html#options_pythonenv
تأكد من استخدام إصدار Jython 2.7.0 أو أحدث لضمان التوافق.
أنشئ أدوارًا لجميع مستويات الامتياز داخل التطبيق المستهدف. (قد تتضمن الأدوار الشائعة المستخدم، المشرف، والمستخدم المجهول)
أنشئ عددًا كافيًا من المستخدمين لتناسب هذه الأدوار المختلفة، وحدد مربعات الاختيار لجميع الأدوار التي ينتمي إليها المستخدم. سيتم تكوين أدوار "مستخدم واحد" تحتوي على مستخدم واحد فقط تلقائيًا للمساعدة في اختبار الموارد عبر المستخدمين. إذا لم تكن هذه الأدوار مطلوبة، لا تتردد في حذفها بالنقر بزر الماوس الأيمن على العمود في جدول الطلبات.
أنشئ رموز الجلسة لكل مستخدم من علامة التبويب Repeater وأدخلها في العمود ذي الصلة في جدول المستخدمين. يمكن إرسال ملفات تعريف الارتباط مباشرة إلى المستخدمين عبر قائمة النقر بزر الماوس الأيمن المتاحة في Repeater. سيقوم AuthMatrix بتحليل سلسلة ملفات تعريف الارتباط من الجدول بذكاء واستبدالها/إضافتها إلى الطلبات عند الاقتضاء.
ملاحظة: حقل ملفات تعريف الارتباط اختياري. إذا كان الهدف يستخدم رؤوس HTTP بدلاً من ذلك، يمكن إضافتها بالنقر على زر "New Header".
للتكوينات الأكثر تقدمًا، بما في ذلك التحديث التلقائي لبيانات الاعتماد، راجع مثال "السلاسل لمصادقة المستخدمين" أدناه.
من منطقة أخرى من Burp Suite (أي علامة التبويب Target، علامة التبويب Repeater، إلخ) انقر بزر الماوس الأيمن على طلب واختر "Send to AuthMatrix".
في جدول الطلبات الخاص بـ AuthMatrix، حدد مربعات الاختيار لجميع الأدوار المصرح لها بإجراء كل طلب HTTP.
قم بتخصيص تعبير عادي للاستجابة بناءً على سلوك الاستجابة المتوقع للطلب لتحديد ما إذا كان الإجراء قد نجح.
تتضمن التعبيرات العادية الشائعة رؤوس استجابة HTTP، رسائل النجاح داخل النص، أو اختلافات أخرى داخل نص الصفحة.
ملاحظة: يمكن تكوين الطلبات لاستخدام تعبير عادي للفشل بدلاً من ذلك من خلال قائمة النقر بزر الماوس الأيمن (أي لا ينبغي أبدًا أن يتلقى المستخدمون الموثقون HTTP 303).
انقر فوق تشغيل في الأسفل لتشغيل جميع الطلبات أو انقر بزر الماوس الأيمن على عدة طلبات واختر تشغيل. لاحظ أن الجدول المجاور سيظهر نتائج مرمزة بالألوان.
الأخضر يشير إلى عدم اكتشاف ثغرة
الأحمر يشير إلى أن الطلب قد يحتوي على ثغرة
الأزرق يشير إلى أن النتيجة قد تكون إيجابية كاذبة. (هذا يعني عمومًا وجود رمز جلسة غير صالح/منتهي الصلاحية أو تعبير عادي غير صحيح)


توفر السلاسل طريقة لنسخ قيمة ثابتة أو ديناميكية إلى نص الطلب. يمكن سحب هذه القيم من استجابة طلب تم تشغيله مسبقًا (باستخدام تعبير عادي) أو عن طريق تحديد قيم سلسلة ثابتة خاصة بالمستخدم.
حالات الاستخدام الأكثر شيوعًا للسلاسل هي:
ملء الطلبات برموز CSRF صالحة
اختبار المعرفات/GUIDs المنشأة حديثًا بحثًا عن مشكلات التفويض عبر المستخدمين
أتمتة المصادقة وتحديث الجلسة
يحتوي إدخال السلسلة على القيم التالية:
اسم السلسلة: اسم وصفي
المصدر: سلسلة مستخدم ثابتة معرفة في جدول المستخدمين أو معرف الطلب المصدر في جدول الطلبات
تعبير الاستخراج العادي: تعبير عادي يستخدم لاستخراج قيمة من استجابة الطلب المصدر. يُستخدم هذا الحقل فقط عند تحديد طلب في الحقل السابق. إذا تم استخدامه، يجب أن يحتوي على مجموعة بين قوسين واحدة سيتم استخراجها [أي (.*)]
الوجهات: قائمة بمعرفات الطلبات التي سيتم استبدال القيمة المصدر بها.
تعبير الاستبدال العادي: تعبير عادي يستخدم لتحديد مكان إدراج القيمة المصدر. يجب أن يحتوي على مجموعة بين قوسين واحدة ليتم استبدالها [أي (.*)]
استخدام القيم من: حدد ما إذا كنت تريد استخدام القيمة المصدر التي تم الحصول عليها من مستخدم واحد محدد (مفيد لاختبارات الموارد عبر المستخدمين) أو استخدام القيم من جميع المستخدمين ووضعها في طلبات الوجهة المقابلة لكل مستخدم (مفيد لمهام الأتمتة مثل استرجاع رمز CSRF)
ملاحظة: يتم تشغيل الطلبات حسب ترتيب الصف، ومع ذلك، إذا تم اكتشاف تبعية سلسلة، فسيقوم AuthMatrix بتشغيل الطلبات بالترتيب المطلوب.



بالنسبة لبعض الأهداف، قد يكون من الأسهل تكوين AuthMatrix لاكتشاف حالة الاستجابة عندما يفشل الطلب. على سبيل المثال، إذا كان موقع الهدف يُرجع بيانات فريدة في الطلبات الناجحة، ولكنه يُرجع دائمًا HTTP 303 عند تنفيذ إجراء غير مصرح به.
في هذا الوضع، سيتحقق AuthMatrix من هذا التعبير العادي لجميع المستخدمين الذين ليسوا جزءًا من دور ناجح.
للقيام بذلك، انقر بزر الماوس الأيمن على الطلب واختر "Toggle Regex Mode". سيتم تمييز حقل التعبير العادي باللون الأرجواني للإشارة إلى أن AuthMatrix سيشغل الطلب في وضع التعبير العادي للفشل.
ملاحظة: قد لا يعمل اكتشاف الإيجابيات الكاذبة وتسليط الضوء في وضع التعبير العادي للفشل.
