<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन 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 समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram समूह**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैक्य को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_धाराप्रवाह पोलिश लिखित और बोली जाने वाली आवश्यकता है_).
जब एक ब्राउज़र वेब सर्वर को एक अनुरोध भेजता है, तो वेब सर्वर HTTP रिस्पॉन्स हेडर्स और वास्तविक वेबसाइट सामग्री, यानी रिस्पॉन्स बॉडी के साथ जवाब देता है। HTTP हेडर्स और HTML रिस्पॉन्स (वेबसाइट सामग्री) को विशेष वर्णों के एक विशिष्ट संयोजन द्वारा अलग किया जाता है, जिसे कैरिज रिटर्न और लाइन फीड कहा जाता है। संक्षेप में इन्हें CRLF भी कहा जाता है।
वेब सर्वर CRLF का उपयोग करता है ताकि समझ सके कि नया HTTP हेडर कब शुरू होता है और दूसरा कब समाप्त होता है। CRLF यह भी बता सकता है कि एक फाइल में या एक टेक्स्ट ब्लॉक में नई लाइन कब शुरू होती है। CRLF वर्ण HTTP/1.1 संदेश का एक मानक हैं, इसलिए इसका उपयोग किसी भी प्रकार के वेब सर्वर द्वारा किया जाता है, जिसमें Apache, Microsoft IIS और अन्य सभी शामिल हैं।\
CRLF इंजेक्शन भेद्यता हमले में हमलावर उपयोगकर्ता इनपुट में कैरिज रिटर्न और लाइनफीड वर्णों को डालता है ताकि सर्वर, वेब एप्लिकेशन या उपयोगकर्ता को यह सोचने में धोखा दिया जा सके कि एक ऑब्जेक्ट समाप्त हो गया है और दूसरा शुरू हो गया है। इस प्रकार CRLF अनुक्रम अपने आप में हानिकारक वर्ण नहीं हैं, हालांकि उनका उपयोग हानिकारक इरादे के लिए, HTTP रिस्पॉन्स स्प्लिटिंग आदि के लिए किया जा सकता है।
वेब एप्लिकेशन में CRLF इंजेक्शन का प्रभाव गंभीर हो सकता है, यह निर्भर करता है कि एप्लिकेशन एकल आइटम्स के साथ क्या करता है। प्रभाव सूचना लीक से लेकर कोड निष्पादन तक हो सकते हैं, एक सीधा प्रभाव वेब एप्लिकेशन सुरक्षा भेद्यता। वास्तव में CRLF इंजेक्शन हमले का वेब एप्लिकेशन पर बहुत गंभीर प्रभाव पड़ सकता है, भले ही इसे कभी OWASP टॉप 10 सूची में नहीं रखा गया हो। उदाहरण के लिए नीचे दिए गए उदाहरण में बताया गया है कि कैसे एक एडमिन पैनल में लॉग फाइलों को मैनिपुलेट किया जा सकता है।
यदि हमलावर HTTP अनुरोध में CRLF वर्णों को इंजेक्ट करने में सक्षम है, तो वह आउटपुट स्ट्रीम को बदल सकता है और लॉग प्रविष्टियों को नकली बना सकता है। वह वेब एप्लिकेशन से प्रतिक्रिया को नीचे दिए गए जैसा कुछ बदल सकता है:
%0d और %0a CR और LF के url encoded रूप हैं। इसलिए, हमलावर द्वारा उन अक्षरों को डालने के बाद और एप्लिकेशन द्वारा इसे प्रदर्शित करने पर, लॉग प्रविष्टियाँ इस प्रकार दिखाई देंगी:
इसलिए CRLF इंजेक्शन भेद्यता का शोषण करके हमलावर लॉग फ़ाइल में नकली प्रविष्टियाँ बना सकता है ताकि अपनी दुर्भावनापूर्ण क्रियाओं को छिपा सके। हमलावर वास्तव में पृष्ठ हाइजैकिंग कर रहा है और प्रतिक्रिया को संशोधित कर रहा है। उदाहरण के लिए कल्पना कीजिए कि हमलावर के पास व्यवस्थापक का पासवर्ड है और उसने restrictedaction पैरामीटर को निष्पादित किया है, जिसका उपयोग केवल एक व्यवस्थापक द्वारा किया जा सकता है।
समस्या यह है कि यदि व्यवस्थापक देखता है कि एक अज्ञात IP ने restrictedaction पैरामीटर का उपयोग किया है, तो उसे पता चलेगा कि कुछ गलत है। हालांकि, चूंकि अब यह प्रतीत होता है कि आदेश localhost द्वारा जारी किया गया था (और इसलिए शायद किसी ऐसे व्यक्ति द्वारा जिसकी सर्वर तक पहुँच है, जैसे कि एक व्यवस्थापक) यह संदिग्ध नहीं लगता है।
प्रश्न का पूरा भाग जो %0d%0a से शुरू होता है, सर्वर द्वारा एक पैरामीटर के रूप में संभाला जाएगा। उसके बाद एक और & है जिसके साथ restricted action पैरामीटर है जिसे सर्वर द्वारा एक और पैरामीटर के रूप में पार्स किया जाएगा। प्रभावी रूप से यह वही प्रश्न होगा जैसे:
चूंकि HTTP प्रतिक्रिया का हेडर और इसका बॉडी CRLF अक्षरों द्वारा अलग किए जाते हैं, एक हमलावर उन्हें इंजेक्ट करने का प्रयास कर सकता है। CRLFCRLF का संयोजन ब्राउज़र को बताएगा कि हेडर समाप्त हो गया है और बॉडी शुरू होती है। इसका मतलब है कि वह अब प्रतिक्रिया बॉडी के अंदर डेटा लिख सकता है जहां HTML कोड संग्रहीत होता है। इससे Cross-site Scripting संवेदनशीलता हो सकती है।
हैडर का मान "name" नामक एक get पैरामीटर के माध्यम से सेट किया जाता है। यदि कोई URL एन्कोडिंग नहीं है और मान सीधे हैडर के अंदर प्रतिबिंबित होता है, तो हमलावर के लिए ऊपर उल्लिखित CRLFCRLF का संयोजन डालना संभव हो सकता है ताकि ब्राउज़र को यह बताया जा सके कि अनुरोध बॉडी शुरू होती है। इस तरह वह XSS पेलोड जैसे डेटा डालने में सक्षम होता है, उदाहरण के लिए:
CRLF इंजेक्शन का फायदा उठाकर, हमलावर HTTP हैडर्स डाल सकता है जिससे वह सुरक्षा तंत्र जैसे कि ब्राउज़र के XSS फिल्टर या सेम-ओरिजिन-पॉलिसी को हरा सकता है। इससे हमलावर को CSRF टोकन जैसी संवेदनशील जानकारी प्राप्त हो सकती है। वह कुकीज़ भी सेट कर सकता है जिसका फायदा उठाकर वह पीड़ित को हमलावर के खाते में लॉग इन करा सकता है या अन्यथा असंभव [cross-site scripting (XSS) संवेदनशीलताओं](https://www.netsparker.com/blog/web-security/cross-site-scripting-xss/) का शोषण कर सकता है।
यदि हमलावर CORS (Cross Origin Resource Sharing) सक्रिय करने वाले HTTP हैडर्स को इंजेक्ट करने में सक्षम है, तो वह जावास्क्रिप्ट का उपयोग करके उन संसाधनों तक पहुँच सकता है जो अन्यथा SOP (Same Origin Policy) द्वारा सुरक्षित होते हैं जो अलग-अलग मूल की साइटों को एक दूसरे की पहुँच से रोकता है।
एक अच्छा उदाहरण PHP में `SoapClient` डिसेरियलाइजेशन गैजेट का उपयोग करके किया जा सकता है। यह क्लास `user_agent` पैरामीटर के अंदर CRLF के लिए **संवेदनशील है** जिससे **नए हैडर्स और बॉडी कंटेंट डालना संभव है**। हालांकि, आप इस संवेदनशीलता का दुरुपयोग करके **नया HTTP अनुरोध इंजेक्ट करने में भी सक्षम हो सकते हैं:**
फिर, **दूसरा अनुरोध निर्दिष्ट करें**। यहाँ आपके पास एक **क्लासिक** [**request smuggling**](http-request-smuggling/) है जिसमें **अतिरिक्त****headers/body** को सर्वर द्वारा इंजेक्शन के बाद जोड़ा जाता है।
इस तकनीक और संभावित समस्याओं के बारे में अधिक जानकारी के लिए [**मूल स्रोत की जाँच करें**](https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning)।
यदि कोई प्लेटफॉर्म **HTTP अनुरोध से डेटा ले रहा है और इसे बिना सेनिटाइज़ किए****अनुरोध** करने के लिए **memcache** सर्वर का उपयोग कर रहा है, तो एक हमलावर इस व्यवहार का दुरुपयोग करके **नए memcache कमांड्स इंजेक्ट** कर सकता है।
उदाहरण के लिए, मूल खोजे गए दोष में, कैश कुंजियों का उपयोग उस IP और पोर्ट को लौटाने के लिए किया जाता था जिससे एक उपयोगकर्ता को जुड़ना चाहिए, और हमलावरों ने **memcache कमांड्स इंजेक्ट** करने में सक्षम थे जो **कैश को जहर देते** थे ताकि **पीड़ितों का विवरण** (उपयोगकर्ता नाम और पासवर्ड सहित) हमलावर सर्वरों को भेजा जा सके:
इसके अलावा, शोधकर्ताओं ने यह भी पता लगाया कि वे memcache प्रतिक्रियाओं को असमान कर सकते हैं ताकि हमलावरों के ip और पोर्ट्स को उन उपयोगकर्ताओं को भेजा जा सके जिनके ईमेल हमलावर को नहीं पता थे:
**पूरी जानकारी के लिए**[ **मूल लेख पढ़ें**](https://www.sonarsource.com/blog/zimbra-mail-stealing-clear-text-credentials-via-memcache-injection/)\*\*\*\*
CRLF इंजेक्शन के प्रभाव विविध होते हैं और इसमें सूचना प्रकटीकरण से लेकर Cross-site Scripting के सभी प्रभाव शामिल हैं। यह पीड़ित के ब्राउज़रों में XSS फिल्टर्स और Same Origin Policy जैसी कुछ सुरक्षा प्रतिबंधों को भी निष्क्रिय कर सकता है, जिससे वे दुर्भावनापूर्ण हमलों के प्रति संवेदनशील हो जाते हैं।
सबसे अच्छी रोकथाम तकनीक यह है कि प्रतिक्रिया हेडर्स के अंदर सीधे उपयोगकर्ताओं के इनपुट का उपयोग न किया जाए। यदि यह संभव नहीं है, तो आपको हमेशा CRLF विशेष वर्णों को एन्कोड करने के लिए एक फ़ंक्शन का उपयोग करना चाहिए। एक और अच्छा वेब एप्लिकेशन सुरक्षा सर्वोत्तम प्रथा यह है कि आप अपनी प्रोग्रामिंग भाषा को एक ऐसे संस्करण में अपडेट करें जो HTTP हेडर्स सेट करने वाले फ़ंक्शन्स के अंदर CR और LF को इंजेक्ट करने की अनुमति न दे।
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैक्य को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_धाराप्रवाह पोलिश लिखित और बोली जाने वाली आवश्यकता है_).
<summary><strong>AWS हैकिंग सीखें शून्य से नायक तक</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें** तो [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram समूह**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।