hacktricks/pentesting-web/h2c-smuggling.md

111 lines
16 KiB
Markdown
Raw Normal View History

2023-11-06 08:38:02 +00:00
# शीर्षक अपग्रेड स्मगलिंग
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित करना** चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](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)**.**
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करें [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud)**.
2022-04-28 16:01:33 +00:00
</details>
2023-09-02 23:51:32 +00:00
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
2023-09-02 23:48:41 +00:00
2023-11-06 08:38:02 +00:00
विशेषता को खोजें जो सबसे महत्वपूर्ण हैं ताकि आप उन्हें तेजी से ठीक कर सकें। Intruder आपकी हमला सतह का ट्रैक करता है, प्रोएक्टिव धमकी स्कैन चलाता है, आपकी पूरी टेक स्टैक, API से वेब ऐप्स और क्लाउड सिस्टम तक, मुद्दों को खोजता है। [**इसे मुफ़्त में प्रयास करें**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) आज।
2023-09-02 23:48:41 +00:00
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
2023-11-06 08:38:02 +00:00
## H2C स्मगलिंग <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
### क्लियरटेक्स्ट पर HTTP2 (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
2023-11-06 08:38:02 +00:00
सामान्यतः एक साधारण HTTP कनेक्शन केवल एक अनुरोध की अवधि के लिए होता है। हालांकि, H2C या "**क्लियरटेक्स्ट पर http2**" ऐसा है जहां एक साधारण अस्थायी http कनेक्शन को स्थायी कनेक्शन में अपग्रेड किया जाता है जो http2 बाइनरी प्रोटोकॉल का उपयोग करके सतत संचार करने के लिए इस्तेमाल होता है बजाय प्लेनटेक्स्ट http प्रोटोकॉल का।
2023-11-06 08:38:02 +00:00
स्मगलिंग का दूसरा हिस्सा जब एक **रिवर्स प्रॉक्सी का उपयोग किया जाता है**। सामान्यतः, जब एक http अनुरोध रिवर्स प्रॉक्सी को किया जाता है, तो प्रॉक्सी अनुरोध को हैंडल करेगा, एक श्रृंखला के नियमों को प्रोसेस करेगा, फिर अनुरोध को बैकएंड पर फ़ॉरवर्ड करेगा और फिर प्रतिक्रिया लौटाएगा। जब एक http अनुरोध में `Connection: Upgrade` हैडर शामिल होता है, जैसे वेबसॉकेट कनेक्शन के लिए, तो रिवर्स प्रॉक्सी ग्राहक और सर्वर के बीच स्थायी कनेक्शन बनाए रखेगा, जो इन प्रोटोकॉल के लिए आवश्यक सतत संचार को संभव बनाता है। H2C कनेक्शन के लिए, RFC में यह आवश्यकता है कि 3 हेडर्स मौजूद हों:
```
Upgrade: h2c
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
Connection: Upgrade, HTTP2-Settings
```
2023-11-06 08:38:02 +00:00
तो बग कहाँ है? **जब एक कनेक्शन को अपग्रेड किया जाता है, तो रिवर्स प्रॉक्सी अक्सर व्यक्तिगत अनुरोधों को संभालना बंद कर देती है**, मानते हुए कि कनेक्शन स्थापित हो गया है, इसका रूटिंग कार्य समाप्त हो गया है। H2C स्मगलिंग का उपयोग करके, हम नियमों को छोड़कर रिवर्स प्रॉक्सी द्वारा उपयोग किए जाने वाले अनुरोधों को छलना कर सकते हैं, जैसे कि पाथ आधारित रूटिंग, प्रमाणीकरण या WAF प्रोसेसिंग, परिवर्तन कनेक्शन स्थापित करने के बाद।
![](<../.gitbook/assets/image (454).png>)
2023-11-06 08:38:02 +00:00
### विकल्पशील प्रॉक्सी <a href="#exploitation" id="exploitation"></a>
2022-06-19 13:37:58 +00:00
2023-11-06 08:38:02 +00:00
यह विकल्पशीलता की व्याख्या से ध्यान दें कि प्रॉक्सी सर्वर को **अपग्रेड हेडर को आगे भेजना चाहिए**, और कभी-कभी **कनेक्शन हेडर** को भी सफलतापूर्वक आगे भेजना चाहिए।
2022-06-19 13:37:58 +00:00
2023-11-06 08:38:02 +00:00
डिफ़ॉल्ट रूप से, निम्नलिखित सेवाएं **अपग्रेड** और **कनेक्शन हेडर** को प्रॉक्सी-पास के दौरान आगे भेजती हैं, जिससे h2c स्मगलिंग को आउट-ऑफ-द-बॉक्स सक्षम कर दिया जाता है।:
2022-06-19 13:37:58 +00:00
* HAProxy
* Traefik
* Nuster
2023-11-06 08:38:02 +00:00
डिफ़ॉल्ट रूप से, ये सेवाएं दोनों अपग्रेड और कनेक्शन हेडर को प्रॉक्सी-पास के दौरान आगे नहीं भेजती हैं, लेकिन **असुरक्षित तरीके से कॉन्फ़िगर किया जा सकता है** (अवरोधित अपग्रेड और कनेक्शन हेडर पास करके):
2022-06-19 13:37:58 +00:00
* AWS ALB/CLB
* NGINX
* Apache
* Squid
* Varnish
* Kong
* Envoy
* Apache Traffic Server
2023-11-06 08:38:02 +00:00
### शोषण <a href="#exploitation" id="exploitation"></a>
2023-11-06 08:38:02 +00:00
मूल ब्लॉग पोस्ट में यह बताया गया है कि सभी सर्वर आवश्यक हेडर्स को आगे भेजेंगे नहीं एक अनुरूप H2C कनेक्शन अपग्रेड के लिए। इसका मतलब है कि AWS ALB/CLB, NGINX और Apache Traffic Server जैसे लोड बैलेंसर्स डिफ़ॉल्ट रूप से **H2C कनेक्शन को रोकेंगे**। हालांकि, ब्लॉग पोस्ट के अंत में, उसने उल्लेख किया है कि "सभी बैकएंड अनुरूप नहीं थे, और हम गैर-अनुरूप `कनेक्शन: अपग्रेड` वेरिएंट के साथ टेस्ट कर सकते थे, जहां `HTTP2-सेटिंग्स` मान `कनेक्शन` हेडर से छोड़ दिया जाता है।"
2022-06-19 13:37:58 +00:00
{% hint style="danger" %}
2023-11-06 08:38:02 +00:00
ध्यान दें कि यदि `proxy_pass` URL (प्रॉक्सी कनेक्शन को आगे भेजने वाला अंतिम बिंदु) किसी विशेष **पथ** की ओर पोइंट कर रहा हो, जैसे `http://backend:9999/socket.io`, तो कनेक्शन `http://backend:9999` के साथ स्थापित हो जाएगा, इसलिए आप इस तकनीक का दुरुपयोग करके उस आंतरिक अंतर्निहित बिंदु के भीतर किसी अन्य पथ से संपर्क कर सकते हैं। इसलिए प्रॉक्सी_पास के URL में पथ निर्दिष्ट किया जाता हो या न हो, इसका कोई महत्व नहीं है।
2022-06-19 13:58:11 +00:00
{% endhint %}
2023-11-06 08:38:02 +00:00
उपकरणों [**https://github.com/BishopFox/h2csmuggler**](https://github.com/BishopFox/h2csmuggler) **और** [**https://github.com/assetnote/h2csmuggler**](https://github.com/assetnote/h2csmuggler) का उपयोग करके आप प्रॉक्सी द्वारा लगाए गए प्रतिबंधों को **छलना करने का प्रयास** कर सकते हैं, एक H2C कनेक्शन स्थापित करके और सुरक्षित संरक्षित संसाधनों तक पहुंच सकते हैं।
2022-06-19 13:58:11 +00:00
2023-11-06 08:38:02 +00:00
[**Nginx में इस विकल्पशीलता के बारे में अधिक जानकारी के लिए इस लिंक पर क्लिक करें**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
2022-06-19 13:58:11 +00:00
2023-11-06 08:38:02 +00:00
## वेबसॉकेट स्मगलिंग
2022-06-19 13:58:11 +00:00
2023-11-06 08:38:02 +00:00
पिछली तकनीक की तरह, इस तकनीक में **एक HTTP2 टनल** नहीं बनाया जाता है, जो प्रॉक्सी के माध्यम से पहुंचने योग्य एक अंतर्निहित बिंदु के लिए बनाया जाता है, बल्कि यह एक **वेबसॉकेट टनल** बनाता है, जिसका उद्देश्य भी वही है, **प्रॉक्सी की सीमाओं को छलना करना** और सीधे बिंदु के साथ बातचीत क
### लैब्स
2022-06-19 13:58:11 +00:00
2023-11-06 08:38:02 +00:00
[https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) में दोनों स्थितियों को परीक्षण करने के लिए लैब्स की जांच करें।
2022-06-19 13:58:11 +00:00
2023-11-06 08:38:02 +00:00
## संदर्भ
2022-06-19 13:37:58 +00:00
* [https://blog.assetnote.io/2021/03/18/h2c-smuggling/](https://blog.assetnote.io/2021/03/18/h2c-smuggling/)
* [https://bishopfox.com/blog/h2c-smuggling-request](https://bishopfox.com/blog/h2c-smuggling-request)
2022-06-19 13:58:11 +00:00
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
2022-04-28 16:01:33 +00:00
2023-09-02 23:51:32 +00:00
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
2023-09-02 23:48:41 +00:00
2023-11-06 08:38:02 +00:00
विशेषता जो महत्वपूर्ण हैं उन दुर्बलताओं को खोजें ताकि आप उन्हें तेजी से ठीक कर सकें। Intruder आपकी हमला प्रविष्टि को ट्रैक करता है, प्रोएक्टिव धमकी स्कैन चलाता है, आपकी पूरी टेक स्टैक, एपीआई से वेब ऐप्स और क्लाउड सिस्टम तक, में समस्याओं को खोजता है। [**इसे मुफ्त में प्रयास करें**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) आज।
2023-09-02 23:48:41 +00:00
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की अनुमति चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](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)** का पालन करें।**
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके।**
2022-04-28 16:01:33 +00:00
</details>