Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

spoofing JavaScript

Termin Definicja
spoofing JavaScript

Spoofing JavaScript wykorzystuje skrypt do ukrycia lub podmiany rzeczywistej treści prezentowanej odbiorcy.

Na czym polega spoofing JavaScript

Spoofing JavaScript to technika polegająca na wykorzystaniu kodu wykonywanego w przeglądarce do zmiany tego, co użytkownik widzi lub z czym wchodzi w interakcję. Skrypt może modyfikować strukturę dokumentu HTML za pomocą modelu DOM, podmieniać teksty, obrazy, formularze, przyciski, komunikaty oraz elementy nawigacji. Rzeczywisty adres serwera i faktycznie wykonywana operacja mogą różnić się wtedy od treści przedstawionej na ekranie. Sama zmiana wyglądu strony przez JavaScript nie jest jeszcze dowodem ataku, ponieważ identyczne mechanizmy są używane legalnie w aplikacjach internetowych, na przykład do walidacji formularzy i aktualizacji danych bez przeładowania strony.

Ryzyko pojawia się wtedy, gdy skrypt celowo tworzy fałszywy obraz działania witryny. Przykładem jest wyświetlenie okna logowania przypominającego panel banku, chociaż formularz przesyła dane do innego serwera, albo zastąpienie numeru rachunku odbiorcy innym numerem tuż przed zatwierdzeniem przelewu. Skrypt może również przechwytywać zdarzenia kliknięcia, zmieniać właściwości elementów formularza lub otwierać nakładkę zasłaniającą prawdziwą zawartość. W takim przypadku użytkownik ocenia bezpieczeństwo na podstawie interfejsu, który może być kontrolowany przez kod uruchomiony w jego przeglądarce.

Mechanizmy przeglądarkowe wykorzystywane do podmiany treści

JavaScript może zmieniać zawartość strony między innymi przez właściwości textContent, innerHTML i value, a także przez metody takie jak append, remove oraz setAttribute. Skrypt może dodać element iframe, warstwę pozycjonowaną nad istniejącym formularzem albo obsługę zdarzenia submit. Może też przekierować stronę przez ustawienie location lub zmienić widoczny tekst odnośnika bez zmiany jego rzeczywistego celu. Współczesne przeglądarki izolują strony zgodnie z zasadą same-origin policy, lecz kod działający w obrębie danej witryny może normalnie modyfikować jej własny DOM.

Źródłem takiego kodu może być złośliwy plik JavaScript dołączony bezpośrednio do strony, podatna biblioteka, przejęty skrypt z zewnętrznego systemu reklamowego albo podatność typu cross-site scripting. W przypadku reflected XSS szkodliwy fragment może zostać dostarczony w spreparowanym adresie URL, a przy stored XSS zapisany w treści obsługiwanej przez aplikację i pokazany wielu osobom. Znaczenie ma również bezpieczeństwo rozszerzeń przeglądarki oraz aplikacji instalowanych na komputerze, ponieważ rozszerzenie z szerokimi uprawnieniami może zmieniać zawartość odwiedzanych stron niezależnie od kodu witryny.

Rozpoznawanie fałszywego interfejsu i ograniczanie ryzyka

Podstawową kontrolą jest sprawdzenie adresu w pasku przeglądarki, ale sam napis widoczny w stronie nie potwierdza tożsamości serwisu. Kłódka HTTPS oznacza szyfrowanie połączenia z określoną domeną, nie zaś uczciwość jej zawartości. Należy zwracać uwagę na nieoczekiwane przekierowania, ponowne żądanie hasła, zmianę danych płatności, nietypowe okna dialogowe oraz rozbieżność między adresem odnośnika a opisem przycisku. Wrażliwe dane powinno się wpisywać wyłącznie po samodzielnym otwarciu właściwej domeny, a operacje finansowe trzeba potwierdzać na niezależnym kanale lub drugim urządzeniu, jeżeli procedura organizacji tego wymaga.

Właściciel aplikacji ogranicza możliwość wstrzyknięcia kodu przez prawidłowe kodowanie danych wyjściowych, bezpieczne przetwarzanie formularzy, aktualizowanie zależności i ograniczanie skryptów zewnętrznych. Nagłówek Content-Security-Policy może określać dozwolone źródła skryptów oraz blokować wykonanie nieautoryzowanego kodu inline; jego skuteczność zależy jednak od poprawnej konfiguracji. Atrybuty integrity i crossorigin przy zewnętrznych skryptach umożliwiają zastosowanie Subresource Integrity, czyli sprawdzenie skrótu pobranego pliku względem wartości zapisanej w dokumencie. Dodatkową ochronę zapewniają ciasteczka z flagami HttpOnly, Secure i odpowiednio dobranym SameSite, choć nie uniemożliwiają one samej podmiany elementów interfejsu.

Postępowanie po podejrzeniu spoofingu JavaScript

Jeżeli strona zachowuje się inaczej niż zwykle, warto przerwać wpisywanie haseł i danych płatniczych, zamknąć podejrzaną kartę oraz uruchomić pełne skanowanie aktualnym programem zabezpieczającym. W przypadku użycia danych logowania hasło należy zmienić z zaufanego urządzenia, a aktywne sesje zakończyć w ustawieniach konta. Trzeba również sprawdzić zainstalowane rozszerzenia, aktualizacje przeglądarki i systemu oraz źródło skrótu lub odnośnika, który otworzył stronę. Do analizy można zachować adres witryny, godzinę zdarzenia i zrzut ekranu, ale nie należy przesyłać haseł ani pełnych danych karty.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki może sprawdzić objawy przejęcia przeglądarki, nieznane rozszerzenia, uruchamiane procesy oraz ustawienia systemowe związane z otwieraniem stron. Serwisowanie komputera nie zastępuje resetu przejętego konta po stronie dostawcy usługi, dlatego po incydencie trzeba równolegle zabezpieczyć pocztę, bankowość i inne konta używane na urządzeniu. Jeżeli problem dotyczy firmowej witryny, analiza powinna objąć także logi serwera, historię zmian kodu i zależności JavaScript, ponieważ sama kontrola komputera użytkownika nie wykaże błędu znajdującego się w aplikacji internetowej.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę