
مجموعة شاملة من 12 تحديًا محوسبًا لاستغلال الويب تغطي CVE-2023-25690، وتجاوزات WebAuthn، وتهريب HTTP/3، وسلاسل XSS/RCE المتقدمة
"لا أسلك الطرق المعبدة بل أقفز بحرية عبر الفراغ. إذا حزمتني خطأ، فسأوصل السر إلى العتبة الخطأ."
يتضمن التحدي تطبيق HTTP/3 (QUIC) مبني فوق UDP. نظرًا لأن UDP عديم الحالة ولا يفرض الوكيل حدودًا صارمة لطلبات HTTP مثل TCP، فمن الممكن إلغاء تزامن الوكيل والخادم الخلفي. يمكن للمهاجم تهريب طلب HTTP مخفي داخل طلب آخر.
ملاحظات - أقصى طول للرسالة هو 1024 بايت، فقط طلبات GET ستعمل بالفعل، ويتم تجاهل الرسائل بعد 10 ثوانٍ
الهدف: byuctf.xyz:40011
في هذا التنفيذ المحدد، يستمع وسيط Python (udp_server.py) على المنفذ 40000 للنصوص الواردة. يقوم هذا الخادم بتمرير الطلبات بمجرد العثور على \r\n\r\n إلى خادم الويب الفعلي. نظرًا لأن هذا UDP، هناك احتمال كبير لتسليم الحزم بشكل جزئي، مما يؤدي إلى إلغاء التزامن إذا تم إرسال طلبات متعددة بسرعة أو تم التلاعب بحدود الحزم.
لحل هذا التحدي، يجب أن تراعي الطبيعة غير الموثوقة لـ UDP والطريقة المحددة التي يعالج بها الوسيط حدود الطلبات.
/ يكشف عن تلميح حول عدم استقرار اتصال النيذر./endpoints.txt للعثور على قائمة تضم 200 نقطة نهاية مخفية محتملة.solve.py) لإرسال طلبات HTTP خام عبر UDP إلى الهدف. يجب أن يتكرر السكريبت عبر نقاط النهاية ويطلب كل منها بشكل متكرر حتى يتم تلقي استجابة كاملة (تحتوي على جسم).CH4KR4X2{P0D5_bl0ckch41n_br34ch}
يقوم هذا التحدي بتشغيل خادم Flask على المنفذ 1337 وudp_server.py على المنفذ 40000.
البناء:
sudo docker build -t huup .
sudo docker network create -d bridge huup
التشغيل:
sudo docker run -p 40011:40000/udp --detach --name huup --network huup huup:latest