* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या 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)
* प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](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)**.**
SSI (Server Side Includes) निर्देशिकाएं हैं जो **HTML पेज में रखी जाती हैं, और सर्वर पर मूल्यांकन किए जाते हैं** जब पेज सेवा की जा रही होती हैं। इन्हें आप **मौजूदा HTML पेज में नामित कर सकते हैं**, जैसे:
SSI का उपयोग कब करना है और कब किसी कार्यक्रम द्वारा पूरा पेज उत्पन्न करना है, यह आमतौर पर पेज कितना स्थिर है और पेज सेवा होने पर हर बार कितना पुनर्गणन करने की आवश्यकता होती है के आधार पर निर्णय किया जाता है। SSI एक छोटे टुकड़ों की जानकारी जोड़ने का एक बहुत अच्छा तरीका है, जैसे कि वर्तमान समय - ऊपर दिखाया गया है। लेकिन यदि आपके पेज का अधिकांश हिस्सा सेवा की जाने वाली समय पर उत्पन्न हो रहा है, तो आपको किसी अन्य समाधान की तलाश करनी चाहिए। (परिभाषा [यहां](https://httpd.apache.org/docs/current/howto/ssi.html) से ली गई है)।
आप यह जान सकते हैं कि SSI की उपस्थिति है यदि वेब एप्लिकेशन `.shtml`, `.shtm` या `.stm` नामक एक्सटेंशन वाले फ़ाइलों का उपयोग करती है, लेकिन यह केवल एक मामला नहीं है।
यहां एक समस्या है **जानकारी कैशिंग या गतिशील एप्लिकेशन** के रूप में जो सामग्री का हिस्सा हो सकता है, उसका **परिवर्तित हो सकता है** जब सामग्री अगली बार प्राप्त की जाती है। यही कारण है कि **ESI** का उपयोग किया जाता है, ESI टैग का उपयोग करके **गतिशील सामग्री को उत्पन्न करने की आवश्यकता** को दर्शाने के लिए कैश संस्करण भेजने से पहले।\
यदि एक **हमलावर** कैश सामग्री में **ESI टैग को इंजेक्ट** करने में सक्षम होता है, तो उसे उपयोगकर्ताओं को भेजने से पहले दस्तावेज़ पर **अनियमित सामग्री को इंजेक्ट** करने की क्षमता हो सकती है।
[GoSecure](https://www.gosecure.net/blog/2018/04/03/beyond-xss-edge-side-include-injection/) ने एक तालिका बनाई है जो हमें समझने में मदद करेगी कि हम किसी भी ESI-सक्षम सॉफ़्टवेयर के खिलाफ किन संभावित हमलों का प्रयास कर सकते हैं, जो कि समर्थित विभिन्न कार्यक्षमता पर निर्भर करेगा। नीचे दी गई तालिका के स्तंभ नामों के बारे में हम कुछ स्पष्टीकरण प्रदान करेंगे:
CRLF (Carriage Return Line Feed) एक विशेष वर्णक्रम है जो टेक्स्ट फ़ाइलों में नए पंक्तियों को अलग करने के लिए उपयोग होता है। CRLF एक विशेष स्थानांतरण वर्णक्रम है जिसमें पहले कार्यक्षेत्र वापस जाता है और फिर नया पंक्ति शुरू होती है। यह वर्णक्रम वेब अनुरोधों में भी उपयोग होता है, जहां यह अनुरोध शीर्षक और शरीर के बीच एक रिक्त स्थान बनाने के लिए उपयोग किया जाता है।
एक CRLF अद्यतन के द्वारा, एक हमलावर एक वेब अनुरोध में अतिरिक्त हेडर्स जोड़ सकता है और इसे अपनी इच्छानुसार संशोधित कर सकता है। इसका उपयोग करके, एक हमलावर अपने अनुरोध को बदल सकता है और उपयोगकर्ता के द्वारा अपेक्षित परिणाम प्राप्त करने के लिए अतिरिक्त जानकारी प्राप्त कर सकता है।
एक CRLF अद्यतन के द्वारा, एक हमलावर एक वेब अनुरोध में अतिरिक्त हेडर्स जोड़ सकता है और इसे अपनी इच्छानुसार संशोधित कर सकता है। इसका उपयोग करके, एक हमलावर अपने अनुरोध को बदल सकता है और उपयोगकर्ता के द्वारा अपेक्षित परिणाम प्राप्त करने के लिए अतिरिक्त जानकारी प्राप्त कर सकता है।
यह भी संभव है कि `xslt` मान को _dca_ पैरामीटर में निर्दिष्ट करके **\_**eXtensible Stylesheet Language Transformations (XSLT)**\_** \*\* आधारित ESI इनक्लूड जोड़ा जा सकता है। निम्नलिखित इनक्लूड HTTP सरोगेट को XML और XSLT फ़ाइल का अनुरोध करेगा। फिर XSLT फ़ाइल का उपयोग XML फ़ाइल को फ़िल्टर करने के लिए किया जाता है। इस XML फ़ाइल का उपयोग _XML External Entity (XXE)_ हमलों को करने के लिए किया जा सकता है। यह हमलावर्तियों को SSRF हमले करने की अनुमति देता है, जो बहुत उपयोगी नहीं है क्योंकि इसे ESI इनक्लूड के माध्यम से किया जाना चाहिए, जो खुद एक SSRF वेक्टर है। बाहरी DTDs को पार्स नहीं किया जाता है क्योंकि इसके पीछे की पुस्तकालय (Xalan) में इसके लिए कोई समर्थन नहीं है। इसका मतलब है कि हम स्थानीय फ़ाइलों को निकाल नहीं सकते हैं।
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को पीडीएफ में डाउनलोड** करने की इच्छा रखते हैं? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFT**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**