Parameter Pollution

Parameter Pollution

Support HackTricks

HTTP Parameter Pollution (HPP) Overview

HTTP Parameter Pollution (HPP) एक तकनीक है जहाँ हमलावर HTTP पैरामीटर को इस तरह से बदलते हैं कि वे वेब एप्लिकेशन के व्यवहार को अनपेक्षित तरीकों से बदल देते हैं। यह हेरफेर HTTP पैरामीटर को जोड़ने, संशोधित करने या डुप्लिकेट करने के द्वारा किया जाता है। इन हेरफेरों का प्रभाव सीधे उपयोगकर्ता को दिखाई नहीं देता लेकिन यह सर्वर साइड पर एप्लिकेशन की कार्यक्षमता को महत्वपूर्ण रूप से बदल सकता है, जिसका क्लाइंट साइड पर अवलोकनीय प्रभाव होता है।

Example of HTTP Parameter Pollution (HPP)

एक बैंकिंग एप्लिकेशन लेनदेन URL:

  • Original URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000

एक अतिरिक्त from पैरामीटर जोड़ने पर:

  • Manipulated URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC

लेनदेन गलत तरीके से accountC पर चार्ज किया जा सकता है बजाय accountA के, जो HPP की क्षमता को दर्शाता है कि यह लेनदेन या अन्य कार्यक्षमताओं जैसे पासवर्ड रीसेट, 2FA सेटिंग्स, या API कुंजी अनुरोधों में हेरफेर कर सकता है।

Technology-Specific Parameter Parsing

  • पैरामीटर को कैसे पार्स और प्राथमिकता दी जाती है, यह अंतर्निहित वेब तकनीक पर निर्भर करता है, जो HPP के शोषण को प्रभावित करता है।

  • Wappalyzer जैसे उपकरण इन तकनीकों और उनके पार्सिंग व्यवहार की पहचान करने में मदद करते हैं।

PHP and HPP Exploitation

OTP Manipulation Case:

  • Context: एक लॉगिन तंत्र जिसमें एक वन-टाइम पासवर्ड (OTP) की आवश्यकता थी, का शोषण किया गया।

  • Method: Burp Suite जैसे उपकरणों का उपयोग करके OTP अनुरोध को इंटरसेप्ट करके, हमलावरों ने HTTP अनुरोध में email पैरामीटर को डुप्लिकेट किया।

  • Outcome: OTP, जो प्रारंभिक ईमेल के लिए था, को इसके बजाय हेरफेर किए गए अनुरोध में निर्दिष्ट दूसरे ईमेल पते पर भेजा गया। यह दोष अनधिकृत पहुंच की अनुमति देता है, जो लक्षित सुरक्षा उपाय को दरकिनार करता है।

यह परिदृश्य एप्लिकेशन के बैकएंड में एक महत्वपूर्ण चूक को उजागर करता है, जिसने OTP उत्पन्न करने के लिए पहले email पैरामीटर को संसाधित किया लेकिन वितरण के लिए अंतिम का उपयोग किया।

API Key Manipulation Case:

  • Scenario: एक एप्लिकेशन उपयोगकर्ताओं को उनके प्रोफ़ाइल सेटिंग्स पृष्ठ के माध्यम से अपनी API कुंजी अपडेट करने की अनुमति देता है।

  • Attack Vector: एक हमलावर यह पता लगाता है कि POST अनुरोध में एक अतिरिक्त api_key पैरामीटर जोड़कर, वे API कुंजी अपडेट फ़ंक्शन के परिणाम को हेरफेर कर सकते हैं।

  • Technique: Burp Suite जैसे उपकरण का उपयोग करते हुए, हमलावर एक अनुरोध तैयार करता है जिसमें दो api_key पैरामीटर होते हैं: एक वैध और एक दुर्भावनापूर्ण। सर्वर, केवल अंतिम घटना को संसाधित करते हुए, API कुंजी को हमलावर द्वारा प्रदान किए गए मान पर अपडेट करता है।

  • Result: हमलावर पीड़ित की API कार्यक्षमता पर नियंत्रण प्राप्त करता है, संभावित रूप से निजी डेटा तक अनधिकृत पहुंच या संशोधन कर सकता है।

यह उदाहरण API कुंजी प्रबंधन जैसी महत्वपूर्ण सुविधाओं में सुरक्षित पैरामीटर हैंडलिंग की आवश्यकता को और अधिक स्पष्ट करता है।

Parameter Parsing: Flask vs. PHP

वेब तकनीकों द्वारा डुप्लिकेट HTTP पैरामीटर को संभालने का तरीका भिन्न होता है, जो HPP हमलों के प्रति उनकी संवेदनशीलता को प्रभावित करता है:

  • Flask: पहले मिले पैरामीटर मान को अपनाता है, जैसे a=1 एक क्वेरी स्ट्रिंग a=1&a=2 में, प्रारंभिक उदाहरण को बाद के डुप्लिकेट्स पर प्राथमिकता देता है।

  • PHP (Apache HTTP Server पर): इसके विपरीत, अंतिम पैरामीटर मान को प्राथमिकता देता है, दिए गए उदाहरण में a=2 का चयन करता है। यह व्यवहार अनजाने में HPP शोषण को सुविधाजनक बना सकता है, हमलावर द्वारा हेरफेर किए गए पैरामीटर को मूल पर सम्मानित करते हुए।

References

Support HackTricks

Last updated