حالات التسابق وتهريب الطلبات
توفر أداة حالات التسابق / تهريب الطلبات أداتين متخصصتين لهجمات HTTP الحساسة للتوقيت والهجمات على مستوى البروتوكول.
حالات التسابق
ترسل علامة تبويب حالات التسابق عدة نسخ من طلب في الوقت نفسه إلى نقطة النهاية نفسها، وتتيح مقارنة الاستجابات والتوقيت بين عمليات التنفيذ المتوازية.
متى تستخدمها
- TOCTOU (وقت التحقق/وقت الاستخدام): اختبر ما إذا كان بالإمكان الفصل بين عملية تحقق وعملية تغيير حالة باستخدام طلبات متزامنة.
- التلاعب بالحسابات: أرسل تغييرات متزامنة للأرصدة أو عمليات استخدام قسائم أو عمليات مقيدة بحدود، لاختبار الإنفاق المزدوج أو استخدام القسائم أكثر مما يسمح به.
- تجاوز حدود التصويت أو معدل الطلبات: تحقق مما إذا كانت الحدود الخاصة بكل مستخدم تفرض بصورة ذرية.
تشغيل اختبار تسابق
- أنشئ الطلب الهدف أو أرسله إلى علامة تبويب حالات التسابق.
- اضبط قيمة التزامن، أي عدد النسخ المتوازية المراد إرسالها.
- انقر إرسال التسابق. ترسل جميع النسخ بأقرب توقيت ممكن إلى الإرسال المتزامن.
- راجع جدول الاستجابات: رمز الحالة والمتن والزمن المنقضي لكل نسخة.
- تشير الاختلافات بين الاستجابات (رموز حالة مختلفة، أو متون استجابة مختلفة، أو نجاح غير متوقع في النسخ 2+) إلى وجود نافذة تسابق.
التسابق بحزمة واحدة عبر HTTP/2
عندما يدعم الهدف HTTP/2، فعل وضع HTTP/2. يمرر HTTP/2 جميع الطلبات المتوازية عبر اتصال واحد باستخدام تعدد الإرسال، مما يزيل تذبذب تأخير الشبكة ويجعل وصولها المتزامن إلى الخادم أكثر موثوقية.
تهريب طلبات HTTP
تختبر علامة تبويب تهريب الطلبات كيفية تعامل الخادم مع ترويستي Content-Length وTransfer-Encoding الملتبستين للكشف عن عدم التزامن بين الواجهة والخادم الخلفي.
خلفية
عندما يختلف الوكيل العكسي والخادم الخلفي بشأن موضع انتهاء طلب وبدء الطلب التالي، يمكن إلحاق بادئة مهربة من الطلب A ببداية الطلب B. يتراوح الأثر من تسميم ذاكرة التخزين المؤقت إلى تجاوز المصادقة وحقن طلبات اعتباطية.
أنواع عدم التزامن
| النوع | الوصف |
|---|---|
| CL.TE | تستخدم الواجهة Content-Length؛ ويستخدم الخادم الخلفي Transfer-Encoding |
| TE.CL | تستخدم الواجهة Transfer-Encoding؛ ويستخدم الخادم الخلفي Content-Length |
| TE.TE | يستخدم كلاهما Transfer-Encoding، لكنهما يتعاملان بشكل مختلف مع ترويسة مموهة |
تشغيل طلب استكشافي لتهريب الطلبات
- اختر نقطة النهاية الهدف في علامة تبويب تهريب الطلبات.
- اختر نوع عدم التزامن المراد اختباره.
- انقر تشغيل فحص تهريب الطلبات. ترسل الأداة الطلب المعد خصيصا وتقيس الاستجابة.
- يشير انتهاء المهلة أو استجابة غير متوقعة للطلب الثاني في التسلسل إلى احتمال وجود عدم تزامن.
- أكد النتيجة يدويا قبل إنشاء نتيجة أمنية؛ تحدث نتائج إيجابية كاذبة عندما تتسبب ظروف الشبكة في انتهاء مهلة لا علاقة له بالطلب الاستكشافي.