Client Side Template Injection (CSTI)
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Opsomming
Dit is soos 'n Server Side Template Injection maar in die klant. Die SSTI kan jou toelaat om kode op die afstandsbediener uit te voer, die CSTI kan jou toelaat om arbitraire JavaScript kode in die slagoffer se blaaier uit te voer.
Toetsing vir hierdie kwesbaarheid is baie soortgelyk aan die geval van SSTI, die interpreter verwag 'n sjabloon en sal dit uitvoer. Byvoorbeeld, met 'n payload soos {{ 7-7 }}
, as die app kwesbaar is, sal jy 'n 0
sien, en as nie, sal jy die oorspronklike sien: {{ 7-7 }}
AngularJS
AngularJS is 'n wyd gebruikte JavaScript-raamwerk wat met HTML kommunikeer deur middel van eienskappe bekend as direkte, 'n noemenswaardige een is ng-app
. Hierdie direkte laat AngularJS toe om die HTML-inhoud te verwerk, wat die uitvoering van JavaScript-uitdrukkings binne dubbele krulhake moontlik maak.
In scenario's waar gebruikersinvoer dinamies in die HTML-lichaam ingevoeg word wat met ng-app
gemerk is, is dit moontlik om arbitraire JavaScript-kode uit te voer. Dit kan bereik word deur die sintaksis van AngularJS binne die invoer te benut. Hieronder is voorbeelde wat demonstreer hoe JavaScript-kode uitgevoer kan word:
You can find a very basic online example of the vulnerability in AngularJS in http://jsfiddle.net/2zs2yv7o/ and in Burp Suite Academy
Angular 1.6 het die sandbox verwyder so vanaf hierdie weergawe behoort 'n payload soos {{constructor.constructor('alert(1)')()}}
of <input ng-focus=$event.view.alert('XSS')>
te werk.
VueJS
You can find a vulnerable Vue implementation in https://vue-client-side-template-injection-example.azu.now.sh/
Working payload: https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
And the source code of the vulnerable example here: https://github.com/azu/vue-client-side-template-injection-example
'n Regtig goeie pos oor CSTI in VUE kan gevind word in https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
Credit: Gareth Heyes, Lewis Ardern & PwnFunction
V2
Credit: Mario Heiderich
Kyk meer VUE payloads in https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Payload:
Meer payloads in https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
Brute-Force Opsporing Lys
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated