* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFT**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में **शामिल हों** या मुझे **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)** का** **अनुसरण** करें।**
इस तकनीक और सामान्य HTTP Request smuggling के मुख्य अंतर का मुख्य अंतर यह है कि इसके बजाय कि पीड़ित के अनुरोध में एक प्रीफिक्स जोड़कर हम उसके अनुरोध को हमला कर रहे हैं, हम पीड़ित को मिलने वाले प्रतिक्रिया को लीक या संशोधित करने जा रहे हैं। इसे करने के लिए, HTTP Request smuggling का दुरुपयोग करने के बजाय, हम प्रोक्सी प्रतिक्रिया कतार को असमयित करने के लिए 2 पूर्ण अनुरोध भेजेंगे।
इसलिए हम प्रतिक्रिया कतार को असमयित करने में सक्षम होंगे, ताकि पीड़ित के वैध अनुरोध की प्रतिक्रिया अटैकर को भेजी जाए, या पीड़ित को प्रतिक्रिया में अटैकर द्वारा नियंत्रित सामग्री को इंजेक्ट करके भेजी जाए।
HTTP/1.1 को पिछले वाले को इंतजार किए बिना **विभिन्न संसाधनों के लिए पूछा जा सकता है**। इसलिए, यदि किसी **प्रोक्सी** में है, तो यह प्रोक्सी का कार्य होता है कि वह पीछे की ओर भेजे गए अनुरोधों की और उनसे आने वाली प्रतिक्रियाओं की समकक्ष मिलान बनाए रखें।
हालांकि, प्रतिक्रिया कतार को असमयित करने में एक समस्या है। यदि एक हमलावर एक HTTP Response smuggling हमला भेजता है और प्रारंभिक अनुरोध और smuggled अनुरोध की प्रतिक्रियाएं तत्काल उत्तर देती हैं, तो smuggled प्रतिक्रिया पीड़ित प्रतिक्रिया कतार में सम्मिलित नहीं की जाएगी, बल्कि यह एक त्रुटि के रूप में छोड़ दी जाएगी।
इसलिए, इसे आवश्यक है कि smuggled अनुरोध को प्रोसेस करने में अधिक समय लगे। इसलिए, जब तक smuggled अनुरोध प्रोसेस होता है, हमलावर के साथ संवाद समाप्त हो जाएगा।
यदि इस विशेष स्थिति में किसी पीड़ित ने एक अनुरोध भेजा है और smuggled अनुरोध उससे पहले प्रतिक्रिया देता है, तो smuggled प्रतिक्रिया पीड़ित को भेजी जाएगी। इसलिए, हमलावर पीड़ित द्वारा "किया गया" अनुरोध नियंत्रित कर रहा होगा।
इस बात तक, हमने सीखा है कि कैसे HTTP रिक्वेस्ट स्मगलिंग हमलों का दुरुपयोग करके उस रिक्वेस्ट को नियंत्रित कर सकते हैं जिसकी प्रतिक्रिया कोई क्लाइंट प्राप्त करेगा और आप फिर उस प्रतिक्रिया को चोरी कर सकते हैं जो पीड़ित के लिए थी।
ऐसे रिक्वेस्ट्स हैं जैसे कि HEAD रिक्वेस्ट जिनमें यह निर्दिष्ट किया गया है कि प्रतिक्रिया के भीतर कोई सामग्री नहीं होनी चाहिए और इसमें (जरूरी है) रिक्वेस्ट की Content-Length को शामिल करना चाहिए जैसे कि यह एक GET रिक्वेस्ट हो।
फिर, पीड़ित को HEAD रिक्वेस्ट से प्रतिक्रिया मिलेगी, जिसमें कोई सामग्री नहीं होगी लेकिन इसमें एक Content-Length होगा। इसलिए, प्रॉक्सी इस प्रतिक्रिया को पीड़ित को नहीं भेजेगी, बल्कि कुछ सामग्री की प्रतीक्षा करेगी, जो वास्तव में हमलावर द्वारा डाली गई पीली रिक्वेस्ट की प्रतिक्रिया होगी:
पिछले उदाहरण का पालन करते हुए, जानते हुए कि आप पीड़ित को प्रतिक्रिया प्राप्त करने वाले रिक्वेस्ट के बॉडी को नियंत्रित कर सकते हैं और HEAD प्रतिक्रिया में आमतौर पर इसके हेडर में Content-Type और Content-Length होते हैं, आप निम्नलिखित रिक्वेस्ट को भेजकर पीड़ित में XSS को उत्पन्न कर सकते हैं बिना पृष्ठ XSS के लिए संक्रमित होने के लिए:
पहले ही टिप्पणी की गई प्रतिक्रिया असमंजसीकरण सामग्री भ्रम हमले का दुरुपयोग करके, यदि कैश पीड़ित द्वारा किए गए रिक्वेस्ट की प्रतिक्रिया को संग्रहीत करता है और यह प्रतिक्रिया XSS का कारण बनाने वाली एक डाली गई है, तो कैश में विषाक्त हो जाता है।
ध्यान दें कि इस मामले में यदि "पीड़ित" हमलावर है तो वह अब "कैश पॉइज़निंग" कर सकता है क्योंकि उसे दुष्ट प्रतिक्रिया द्वारा कैश किया जाने वाला URL नियंत्रित कर सकता है।
इसे प्राप्त करने के लिए, हमलावर को वेब एप्लिकेशन के एक एंडपॉइंट को खोजना होगा जो प्रतिक्रिया में कुछ मानों को प्रतिबिंबित कर रहा है और HEAD प्रतिक्रिया की Content-Length को जानना होगा।