Client Side Template Injection (CSTI)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
यह Server Side Template Injection की तरह है लेकिन client में। SSTI आपको remote server पर कोड execute करने की अनुमति दे सकता है, CSTI आपको victim's browser में मनमाना JavaScript कोड execute करने की अनुमति दे सकता है।
इस भेद्यता के लिए Testing SSTI के मामले में बहुत similar है, interpreter एक template की अपेक्षा करता है और इसे execute करेगा। उदाहरण के लिए, एक payload जैसे {{ 7-7 }}
के साथ, यदि ऐप vulnerable है तो आप 0
देखेंगे, और यदि नहीं, तो आप मूल देखेंगे: {{ 7-7 }}
AngularJS एक व्यापक रूप से उपयोग किया जाने वाला JavaScript framework है जो HTML के साथ attributes के माध्यम से बातचीत करता है जिसे directives के रूप में जाना जाता है, एक उल्लेखनीय ng-app
है। यह directive AngularJS को HTML सामग्री को संसाधित करने की अनुमति देता है, जिससे डबल कर्ली ब्रेसेस के अंदर JavaScript expressions के execution की अनुमति मिलती है।
ऐसे परिदृश्यों में जहां उपयोगकर्ता इनपुट को ng-app
के साथ टैग किए गए HTML body में गतिशील रूप से डाला जाता है, मनमाना JavaScript कोड execute करना संभव है। यह इनपुट के भीतर AngularJS की syntax का लाभ उठाकर किया जा सकता है। नीचे उदाहरण दिए गए हैं जो दिखाते हैं कि कैसे JavaScript कोड execute किया जा सकता है:
आप इस बुनियादी ऑनलाइन उदाहरण को AngularJS में इस लिंक पर पा सकते हैं http://jsfiddle.net/2zs2yv7o/ और Burp Suite Academy में
Angular 1.6 ने सैंडबॉक्स हटा दिया इसलिए इस संस्करण से एक पेलोड जैसे {{constructor.constructor('alert(1)')()}}
या <input ng-focus=$event.view.alert('XSS')>
काम करना चाहिए।
आप एक कमजोर Vue कार्यान्वयन इस लिंक पर पा सकते हैं 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
CSTI पर VUE में एक बहुत अच्छा पोस्ट https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets पर पाया जा सकता है।
Credit: Gareth Heyes, Lewis Ardern & PwnFunction
Credit: Mario Heiderich
अधिक VUE पेलोड्स देखें https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Payload:
अधिक पेलोड्स https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
सीखें और प्रैक्टिस करें AWS हैकिंग:HackTricks Training AWS Red Team Expert (ARTE) सीखें और प्रैक्टिस करें GCP हैकिंग: HackTricks Training GCP Red Team Expert (GRTE)