<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 group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](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 सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें.
SSI (सर्वर साइड इनक्लूड्स) निर्देश होते हैं जो **HTML पेजों में रखे जाते हैं, और सर्वर पर मूल्यांकन किए जाते हैं** जबकि पेज सर्व किए जा रहे होते हैं। वे आपको **एक मौजूदा HTML पेज में गतिशील रूप से जनरेटेड कंटेंट जोड़ने** की अनुमति देते हैं, बिना पूरे पेज को CGI प्रोग्राम, या अन्य गतिशील तकनीक के माध्यम से सर्व करने की आवश्यकता के।\
उदाहरण के लिए, आप एक मौजूदा HTML पेज में एक निर्देश डाल सकते हैं, जैसे:
SSI का उपयोग कब करना है, और कब आपके पेज को पूरी तरह से किसी प्रोग्राम द्वारा जनरेट किया जाना है, यह आमतौर पर इस बात का मामला होता है कि पेज का कितना हिस्सा स्थिर है, और कितना हर बार पेज सर्व किए जाने पर पुनः गणना की जरूरत है। SSI छोटी जानकारी के टुकड़े जोड़ने का एक शानदार तरीका है, जैसे कि ऊपर दिखाया गया वर्तमान समय। लेकिन अगर आपके पेज का अधिकांश हिस्सा उस समय जनरेट किया जा रहा है जब वह सर्व किया जा रहा है, तो आपको किसी अन्य समाधान की तलाश करनी चाहिए। (परिभाषा [यहाँ](https://httpd.apache.org/docs/current/howto/ssi.html) से ली गई है)।
यदि वेब एप्लिकेशन \*\* `.shtml`, `.shtm` या `.stm`\*\* एक्सटेंशन वाली फाइलों का उपयोग करता है तो आप SSI की उपस्थिति का अनुमान लगा सकते हैं, लेकिन यह केवल मामला नहीं है।
जानकारी या डायनामिक एप्लिकेशन्स को **कैशिंग** करने में एक समस्या है क्योंकि सामग्री का कुछ हिस्सा अगली बार सामग्री प्राप्त करते समय **भिन्न** हो सकता है। यही कारण है कि **ESI** का उपयोग किया जाता है, ESI टैग्स का उपयोग करके **डायनामिक सामग्री को जनरेट करने** के लिए संकेत देने के लिए, जिसे कैश संस्करण भेजने से पहले बनाया जाना चाहिए।\
यदि एक **हमलावर** कैश सामग्री के अंदर एक ESI टैग **इंजेक्ट** करने में सक्षम होता है, तो, वह उपयोगकर्ताओं को भेजे जाने से पहले दस्तावेज़ पर **मनमानी सामग्री इंजेक्ट** कर सकता है।
[GoSecure](https://www.gosecure.net/blog/2018/04/03/beyond-xss-edge-side-include-injection/) ने हमें समझाने के लिए एक तालिका बनाई है कि हम विभिन्न ESI-सक्षम सॉफ्टवेयर के खिलाफ कौन से हमले कर सकते हैं, जो कार्यक्षमता का समर्थन करते हैं। नीचे दी गई तालिका के कॉलम नामों के बारे में कुछ स्पष्टीकरण देते हैं:
* **Includes**: `<esi:includes>` निर्देश का समर्थन करता है
* **Vars**: `<esi:vars>` निर्देश का समर्थन करता है। XSS फिल्टर्स को बायपास करने के लिए उपयोगी
* **Cookie**: दस्तावेज़ कुकीज़ ESI इंजन के लिए सुलभ हैं
* **Upstream Headers Required**: सरोगेट एप्लिकेशन ESI वक्तव्यों को प्रोसेस नहीं करेंगे जब तक कि अपस्ट्रीम एप्लिकेशन हेडर्स प्रदान नहीं करता
* **Host Allowlist**: इस मामले में, ESI शामिल केवल अनुमति वाले सर्वर होस्ट्स से ही संभव हैं, जिससे SSRF, उदाहरण के लिए, केवल उन होस्ट्स के खिलाफ ही संभव है
यह संभव है कि \*\* **\_**eXtensible Stylesheet Language Transformations (XSLT)**\_** \*\* आधारित ESI शामिल को `xslt` मान को _dca_ पैरामीटर में निर्दिष्ट करके जोड़ा जा सकता है। निम्नलिखित शामिल HTTP सरोगेट को XML और XSLT फाइल का अनुरोध करने का कारण बनेगा। XSLT फाइल का उपयोग XML फाइल को फ़िल्टर करने के लिए किया जाता है। इस XML फाइल का उपयोग _XML External Entity (XXE)_ हमलों को प्रदर्शन करने के लिए किया जा सकता है। यह हमलावरों को SSRF हमलों को प्रदर्शन करने की अनुमति देता है, जो बहुत उपयोगी नहीं है क्योंकि यह ESI शामिल के माध्यम से किया जाना चाहिए, जो खुद एक SSRF वेक्टर है। बाहरी DTDs को पार्स नहीं किया जाता है क्योंकि अंतर्निहित पुस्तकालय (Xalan) का इसके लिए समर्थन नहीं है। इसका मतलब है कि हम स्थानीय फाइलों को निकाल नहीं सकते।
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन 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** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें.