
OWASP Raider: إطار عمل مبتكر للتحكم في عمليات HTTP للجلسات المستمرة

تم تطوير OWASP Raider بهدف تحسين اختبار المصادقة عبر الويب ومع مرور الوقت تطور ليصبح قابلاً للاستخدام في جميع أنواع عمليات HTTP ذات الحالة. وهو يجرّد تبادل المعلومات بين العميل والخادم باعتباره آلة حالة محدودة. تتضمن كل خطوة طلبًا واحدًا بمدخلات، واستجابة واحدة بمخرجات، وإجراءات تعسفية تُنفَّذ على الاستجابة، وروابط شرطية إلى مراحل أخرى. وهكذا يُنشأ هيكل شبيه بالرسم البياني. يتيح لك رايدر محاكاة الأنظمة المعقدة مع تمكينك من التحكم في كل جزء من البيانات التي تدخلها وتخرجها من النظام.
يعرّف رايدر لغة خاصة بالمجال (DSL) لوصف تدفق المعلومات بين العميل والخادم لعمليات HTTP. تُوصف كل خطوة من العملية عبر Flow، تحتوي على الطلب (Request) بالمدخلات، والاستجابة (Response) بالمخرجات، وإجراءات تعسفية بما في ذلك روابط إلى Flows أخرى:

يمكن استخدام ربط عدة Flows معًا لمحاكاة أي عملية HTTP ذات حالة. تشير FlowGraphs إلى نقطة البداية. ويمكن وضعها على أي Flow. يقوم FlowGraphs بتشغيل جميع Flows في الرابط حتى يتم إرجاع Success/Failure أو إذا لم تكن هناك روابط أخرى.

إعداد رايدر مستوحى من إيماكس (Emacs). يتم استخدام Hylang، وهي LISP فوق Python. تُستخدم LISP بسبب خاصية "الكود هو بيانات، والبيانات هي كود". مع سحر وحدات ماكرو LISP يصبح توليد الإعدادات تلقائيًا أمرًا سهلًا. المرونة في حمضها النووي، مما يعني أنه يمكن توسيعها بلا حدود بكود فعلي. يمكنك استخدامها على سبيل المثال لإنشاء وتخزين وإعادة إنتاج ومشاركة إثباتات المفاهيم (proof-of-concepts) بسهولة لهجمات HTTP. باستخدام رايدر يمكنك أيضًا البحث في Projects الخاصة بك، والتصفية بواسطة hyfile، وFlows، وFlowGraphs، إلخ... ثم تشغيل خطوة واحدة فقط، أو سلسلة من الخطوات، حتى تتمكن من أتمتة واختبار أي عملية HTTP.

يمكنك استخدامها على سبيل المثال لإنشاء وتخزين وإعادة إنتاج ومشاركة إثباتات المفاهيم (proof-of-concepts) بسهولة لهجمات HTTP. باستخدام رايدر يمكنك أيضًا البحث في Projects الخاصة بك، والتصفية بواسطة hyfile، وFlows، وFlowGraphs، إلخ... ثم تقوم بتشغيل خطوة واحدة فقط، أو سلسلة من الخطوات، حتى تتمكن من أتمتة واختبار أي عملية HTTP.
يمكنك أيضًا البحث في Projects الخاصة بك، والتصفية بواسطة hyfile، وFlows، وFlowGraphs، إلخ… ثم تقوم بتشغيل خطوة واحدة فقط، أو سلسلة من الخطوات، حتى تتمكن من أتمتة واختبار عملية HTTP.