Client Side Template Injection (CSTI)
WhiteIntel to silnik wyszukiwania zasilany przez dark web, który oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące.
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:
Podsumowanie
Jest to jak Wstrzykiwanie szablonów po stronie serwera, ale po stronie klienta. SSTI może pozwolić na wykonywanie kodu na zdalnym serwerze, CSTI może pozwolić na wykonywanie dowolnego kodu JavaScript w przeglądarce ofiary.
Testowanie tej podatności jest bardzo podobne do przypadku SSTI, interpreter oczekuje szablonu i go wykona. Na przykład, przy ładunku takim jak {{ 7-7 }}
, jeśli aplikacja jest podatna, zobaczysz 0
, a jeśli nie, zobaczysz oryginalny: {{ 7-7 }}
AngularJS
AngularJS to powszechnie używany framework JavaScript, który interaguje z HTML za pomocą atrybutów znanych jako dyrektywy, z których jedną jest ng-app
. Ta dyrektywa pozwala AngularJS przetwarzać zawartość HTML, umożliwiając wykonywanie wyrażeń JavaScript wewnątrz podwójnych klamr.
W scenariuszach, w których dane wejściowe użytkownika są dynamicznie wstawiane do ciała HTML oznaczonego ng-app
, możliwe jest wykonywanie dowolnego kodu JavaScript. Można to osiągnąć, wykorzystując składnię AngularJS w danych wejściowych. Poniżej znajdują się przykłady ilustrujące, jak można wykonać kod JavaScript:
Możesz znaleźć bardzo podstawowy przykład online tej podatności w AngularJS pod adresem http://jsfiddle.net/2zs2yv7o/ oraz w Burp Suite Academy
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ć.
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 tutaj: https://github.com/azu/vue-client-side-template-injection-example
A really good post on CSTI in VUE can be found in https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets
V3
Credit: Gareth Heyes, Lewis Ardern & PwnFunction
V2
Credit: Mario Heiderich
Sprawdź więcej ładunków VUE w https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected
Mavo
Payload:
Więcej ładunków w https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations
Lista wykrywania brute-force
WhiteIntel to silnik wyszukiwania zasilany dark-webem, który oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skomprymowani przez złośliwe oprogramowanie kradnące.
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:
Last updated