- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित करना** चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
- **शामिल हों** [**💬**](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)**.**
विशेषता को खोजें जो सबसे महत्वपूर्ण हैं ताकि आप उन्हें तेजी से ठीक कर सकें। Intruder आपकी हमला सतह का ट्रैक करता है, प्रोएक्टिव धमकी स्कैन चलाता है, आपकी पूरी टेक स्टैक, API से वेब ऐप्स और क्लाउड सिस्टम तक, मुद्दों को खोजता है। [**इसे मुफ़्त में प्रयास करें**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) आज।
सामान्यतः एक साधारण HTTP कनेक्शन केवल एक अनुरोध की अवधि के लिए होता है। हालांकि, H2C या "**क्लियरटेक्स्ट पर http2**" ऐसा है जहां एक साधारण अस्थायी http कनेक्शन को स्थायी कनेक्शन में अपग्रेड किया जाता है जो http2 बाइनरी प्रोटोकॉल का उपयोग करके सतत संचार करने के लिए इस्तेमाल होता है बजाय प्लेनटेक्स्ट http प्रोटोकॉल का।
स्मगलिंग का दूसरा हिस्सा जब एक **रिवर्स प्रॉक्सी का उपयोग किया जाता है**। सामान्यतः, जब एक http अनुरोध रिवर्स प्रॉक्सी को किया जाता है, तो प्रॉक्सी अनुरोध को हैंडल करेगा, एक श्रृंखला के नियमों को प्रोसेस करेगा, फिर अनुरोध को बैकएंड पर फ़ॉरवर्ड करेगा और फिर प्रतिक्रिया लौटाएगा। जब एक http अनुरोध में `Connection: Upgrade` हैडर शामिल होता है, जैसे वेबसॉकेट कनेक्शन के लिए, तो रिवर्स प्रॉक्सी ग्राहक और सर्वर के बीच स्थायी कनेक्शन बनाए रखेगा, जो इन प्रोटोकॉल के लिए आवश्यक सतत संचार को संभव बनाता है। H2C कनेक्शन के लिए, RFC में यह आवश्यकता है कि 3 हेडर्स मौजूद हों:
तो बग कहाँ है? **जब एक कनेक्शन को अपग्रेड किया जाता है, तो रिवर्स प्रॉक्सी अक्सर व्यक्तिगत अनुरोधों को संभालना बंद कर देती है**, मानते हुए कि कनेक्शन स्थापित हो गया है, इसका रूटिंग कार्य समाप्त हो गया है। H2C स्मगलिंग का उपयोग करके, हम नियमों को छोड़कर रिवर्स प्रॉक्सी द्वारा उपयोग किए जाने वाले अनुरोधों को छलना कर सकते हैं, जैसे कि पाथ आधारित रूटिंग, प्रमाणीकरण या WAF प्रोसेसिंग, परिवर्तन कनेक्शन स्थापित करने के बाद।
यह विकल्पशीलता की व्याख्या से ध्यान दें कि प्रॉक्सी सर्वर को **अपग्रेड हेडर को आगे भेजना चाहिए**, और कभी-कभी **कनेक्शन हेडर** को भी सफलतापूर्वक आगे भेजना चाहिए।
डिफ़ॉल्ट रूप से, निम्नलिखित सेवाएं **अपग्रेड** और **कनेक्शन हेडर** को प्रॉक्सी-पास के दौरान आगे भेजती हैं, जिससे h2c स्मगलिंग को आउट-ऑफ-द-बॉक्स सक्षम कर दिया जाता है।:
डिफ़ॉल्ट रूप से, ये सेवाएं दोनों अपग्रेड और कनेक्शन हेडर को प्रॉक्सी-पास के दौरान आगे नहीं भेजती हैं, लेकिन **असुरक्षित तरीके से कॉन्फ़िगर किया जा सकता है** (अवरोधित अपग्रेड और कनेक्शन हेडर पास करके):
मूल ब्लॉग पोस्ट में यह बताया गया है कि सभी सर्वर आवश्यक हेडर्स को आगे भेजेंगे नहीं एक अनुरूप H2C कनेक्शन अपग्रेड के लिए। इसका मतलब है कि AWS ALB/CLB, NGINX और Apache Traffic Server जैसे लोड बैलेंसर्स डिफ़ॉल्ट रूप से **H2C कनेक्शन को रोकेंगे**। हालांकि, ब्लॉग पोस्ट के अंत में, उसने उल्लेख किया है कि "सभी बैकएंड अनुरूप नहीं थे, और हम गैर-अनुरूप `कनेक्शन: अपग्रेड` वेरिएंट के साथ टेस्ट कर सकते थे, जहां `HTTP2-सेटिंग्स` मान `कनेक्शन` हेडर से छोड़ दिया जाता है।"
ध्यान दें कि यदि `proxy_pass` URL (प्रॉक्सी कनेक्शन को आगे भेजने वाला अंतिम बिंदु) किसी विशेष **पथ** की ओर पोइंट कर रहा हो, जैसे `http://backend:9999/socket.io`, तो कनेक्शन `http://backend:9999` के साथ स्थापित हो जाएगा, इसलिए आप इस तकनीक का दुरुपयोग करके उस आंतरिक अंतर्निहित बिंदु के भीतर किसी अन्य पथ से संपर्क कर सकते हैं। इसलिए प्रॉक्सी_पास के URL में पथ निर्दिष्ट किया जाता हो या न हो, इसका कोई महत्व नहीं है।
उपकरणों [**https://github.com/BishopFox/h2csmuggler**](https://github.com/BishopFox/h2csmuggler) **और** [**https://github.com/assetnote/h2csmuggler**](https://github.com/assetnote/h2csmuggler) का उपयोग करके आप प्रॉक्सी द्वारा लगाए गए प्रतिबंधों को **छलना करने का प्रयास** कर सकते हैं, एक H2C कनेक्शन स्थापित करके और सुरक्षित संरक्षित संसाधनों तक पहुंच सकते हैं।
[**Nginx में इस विकल्पशीलता के बारे में अधिक जानकारी के लिए इस लिंक पर क्लिक करें**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
पिछली तकनीक की तरह, इस तकनीक में **एक HTTP2 टनल** नहीं बनाया जाता है, जो प्रॉक्सी के माध्यम से पहुंचने योग्य एक अंतर्निहित बिंदु के लिए बनाया जाता है, बल्कि यह एक **वेबसॉकेट टनल** बनाता है, जिसका उद्देश्य भी वही है, **प्रॉक्सी की सीमाओं को छलना करना** और सीधे बिंदु के साथ बातचीत क
[https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) में दोनों स्थितियों को परीक्षण करने के लिए लैब्स की जांच करें।
विशेषता जो महत्वपूर्ण हैं उन दुर्बलताओं को खोजें ताकि आप उन्हें तेजी से ठीक कर सकें। Intruder आपकी हमला प्रविष्टि को ट्रैक करता है, प्रोएक्टिव धमकी स्कैन चलाता है, आपकी पूरी टेक स्टैक, एपीआई से वेब ऐप्स और क्लाउड सिस्टम तक, में समस्याओं को खोजता है। [**इसे मुफ्त में प्रयास करें**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) आज।
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की अनुमति चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!