
ماسح امتداد Burp لكشف حقن CRLF وهجمات HTTP desync، يعتمد على فحوصات مُتحوِّرة (mutated probes)، والتحقق من النتائج الإيجابية الكاذبة في WAF، مع استغلال تلقائي اختياري لتسميم قائمة انتظار الاستجابة (response-queue poisoning).
هذا هو امتداد Burp الذي استخدمناه لكشف جميع الحالات من بحثنا هجمات Desync المدعومة بـ CRLF: قطع تدفقات HTTP.
إنه ماسح يضع البحث في المقام الأول، مبني باستخدام BulkScan على غرار HTTP Request Smuggler وغيره.
يستخدم جميع التحوّرات المعرّفة في src/main/kotlin/ReqMutator لإرسال طلب سليم (benign) ثم طلب فحص. إذا احتوت الاستجابة على تطابق متوقّع، أو اختلفت بشكل ملحوظ، يتم الإبلاغ عن مشكلة.
إذا احتوت الاستجابة على جميع التطابقات المتوقّعة، يتم الإبلاغ عن المشكلة بشكل طبيعي. إذا تم تفعيل المقارنة الاحتياطية (fallback diff) (والتي تستخدم serverStatus من BulkScan) فسيتم الإبلاغ عن المشكلة على أنها Dodgy.
هناك أيضًا WAFChecker يستخدم سلاسل نصية ثابتة لمحاولة تقليل النتائج الإيجابية الكاذبة (FPs) من قواعد WAF، ومنطق متابعة يضمن أن السلوك ، أو على الأقل أنه غالبًا ليس قاعدة WAF غير مذكورة بالفعل في قائمة .
بالإضافة إلى ذلك، يوجد زر "auto-exploit via Response Queue Poisoning" الذي قد يمنحك فكرة — أو لا — بأن RQP يعمل مباشرة دون أي إعداد.
WAFCheckerيحقن ترويسة تحتوي على قيمة كاناري (canary) عشوائية في مسار الطلب ويتحقق مما إذا كانت تلك الترويسة تنعكس مرة أخرى في ترويسات الاستجابة. إذا كانت كذلك، يتم تأكيد الحقن والإبلاغ عن مشكلة.
كخطوة متابعة، يحقن بعد ذلك ترويسة Content-Length لمعرفة ما إذا كان يمكن تقسيم الاستجابة. إذا تسبب ذلك في حدوث مهلة (timeout) أو تغيير في serverStatus، تتم ترقية المشكلة ويتم الإبلاغ عنها على أنها Splitting?.