hacktricks/pentesting-web/parameter-pollution.md

84 lines
11 KiB
Markdown

# पैरामीटर पोल्यूशन
<details>
<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) **का पालन करें.**
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
</details>
**यहाँ से कॉपी किया गया** [**https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654**](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
**सारांश :**
HTTP पैरामीटर पोल्यूशन (HPP) का अर्थ है एक वेब एप्लिकेशन के HTTP पैरामीटर्स को प्रदूषित करना ताकि एक विशिष्ट दुर्भावनापूर्ण कार्य को प्राप्त किया जा सके। यह HTTP अनुरोधों के दौरान एक वेबसाइट द्वारा प्राप्त पैरामीटर्स को कैसे ट्रीट करती है, उसे हेरफेर करने का संदर्भ देता है। यह एक वेबसाइट के व्यवहार को उसके इरादे से बदल देता है। HTTP पैरामीटर पोल्यूशन एक सरल प्रकार का हमला है लेकिन यह एक प्रभावी है।
जब आप किसी पैरामीटर को प्रदूषित करते हैं, तो कोड केवल सर्वर-साइड पर चलता है जो हमें दिखाई नहीं देता है, लेकिन हम अपनी स्क्रीन पर परिणाम देख सकते हैं। बीच की प्रक्रिया एक ब्लैक बॉक्स है।
उदाहरण के लिए, एक URL है https://www.anybank.com/send जिसमें तीन पैरामीटर हैं :
1. from :
2. to :
3. amount :
**URL : https://www.anybank.com/send/?from=accountA\&to=accountB\&amount=10000**
अब यह एक सामान्य URL है जो accountA से accountB को 10000 का लेन-देन करेगा लेकिन क्या होगा अगर हम एक और समान पैरामीटर **“from :”** जोड़ दें
तो URL होगा **https://www.anybank.com/send/?from=accountA\&to=accountB\&amount=10000\&from=accountC**
जब यह URL 10000 का लेन-देन करेगा तो यह accountC से कटेगा बजाय accountA के। यही तरीका है जिससे आप **HTTP पैरामीटर पोल्यूशन** हमले में पैरामीटर्स को हेरफेर करते हैं। हालांकि इस कमजोरी का दायरा केवल **GET** अनुरोध तक सीमित नहीं है, आप इस हमले को **POST** आधारित अनुरोध पर भी कर सकते हैं। आप इस कमजोरी को पासवर्ड बदलने, 2FA, टिप्पणियों, प्रोफाइल फोटो अपलोड, उस पैरामीटर पर जहां API कुंजी पास की जाती है, OTP आदि पर आजमा सकते हैं।
जब आप किसी पैरामीटर को हेरफेर करते हैं, तो इसका हेरफेर इस बात पर निर्भर करता है कि प्रत्येक वेब तकनीक अपने पैरामीटर्स को कैसे पार्स कर रही है। आप “[Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/)” का उपयोग करके वेब तकनीकों की पहचान कर सकते हैं। नीचे कुछ तकनीकों और उनके पैरामीटर पार्सिंग का स्क्रीनशॉट है।तकनीकें और उनकी पैरामीटर पार्सिंग
![Image for post](https://miro.medium.com/max/1760/1\*POs4sP0fQVlPvTH9vw1U-A.jpeg)
मैं अपनी एक खोज को साझा करना चाहूंगा जहां मैं HPP का उपयोग करके एक खाते को अधिग्रहण करने में सक्षम था।
**मैंने इस कमजोरी को कैसे पाया ?**
1. मैं उस कार्यक्रम के लॉगिन पेज पर गया, उसने लॉगिन के लिए एक OTP मांगा
OTP भेजें
![Image for post](https://miro.medium.com/max/600/1\*s-M09yWBylPVEhA6\_e0nSw.jpeg)
2\. मैंने एक ईमेल टाइप किया और "Send One Time Password" पर क्लिक किया
3\. मैंने burp suite का उपयोग करके अनुरोध को इंटरसेप्ट किया और उसी पैरामीटर का उपयोग करके एक और ईमेल जोड़ा (मैंने परीक्षण के उद्देश्य से दो ईमेल बनाए थे)Burp अनुरोध
![Image for post](https://miro.medium.com/max/1737/1\*z\_RpnZyKHLn6B4Lz4ONT3Q.png)
4\. मुझे shrey……@gmail.com का OTP मेरे दूसरे खाते radhika…..@gmail.com पर मिला OTP
![Image for post](https://miro.medium.com/max/784/1\*a671GrRtiMYfLUL7nURD8Q.png)
5\. मैंने OTP को कॉपी किया और shrey….@gmail.com पर उस कार्यक्रम के लॉगिन स्क्रीन पर गया, मैंने यह OTP दर्ज किया और मैं खाते में था।खाता अधिग्रहण
![Image for post](https://miro.medium.com/max/1698/1\*Ux-ILfCr\_Mk\_xmzzsXwNnA.jpeg)
तो यहाँ क्या हुआ है कि बैक-एंड एप्लिकेशन ने पहले “**email**” पैरामीटर के मूल्य का उपयोग करके एक OTP उत्पन्न किया और दूसरे “**email**” पैरामीटर के मूल्य का उपयोग करके मूल्य प्रदान किया, जिसका अर्थ है कि shrey….@gmail.com का OTP radhika….@gmail.com पर भेजा गया था।
**नोट :** यहाँ 4थे चरण में एक छवि पर जहाँ मैंने radhika….@gmail.com पर OTP प्राप्त किया था मैं भ्रमित था क्योंकि संदेश में हाय राधिका लिखा था, इसलिए मैंने सोचा कि पैरामीटर प्रदूषित नहीं हुआ है और OTP radhika….@gmail.com के लिए था लेकिन जब मैंने OTP को shrey….@gmail.com पर आजमाया तो यह काम कर गया।
## Flask & PHP
[**इस लेखन**](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution) में आप देख सकते हैं कि `a=1&a=2` जैसा HTTP क्वेरी Flask और PHP द्वारा Apache HTTP Server पर चलते समय अलग-अलग तरीके से व्याख्या किया जाएगा। Flask में, पैरामीटर `1` होगा (पहली घटना) जबकि PHP में यह `2` होगा (अंतिम घटना)।
<details>
<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) **