Co to jest Cross-Site Scripting (XSS)

Cross-Site Scripting (XSS) to rodzaj ataku na aplikacje internetowe, który polega na wstrzykiwaniu szkodliwego kodu, zwykle w języku JavaScript, do stron internetowych wyświetlanych innym użytkownikom. Atakujący wykorzystuje luki w zabezpieczeniach aplikacji, aby wprowadzić swój kod, który jest następnie uruchamiany przez przeglądarki innych użytkowników.

Są trzy główne typy ataków XSS:

  • Stored XSS (Persistent XSS). Atakujący zapisuje szkodliwy skrypt w aplikacji, na przykład poprzez wpisanie go w polu komentarza na stronie. Gdy inni użytkownicy odwiedzają tę stronę, ich przeglądarka wykonuje skrypt.
  • Reflected XSS (Non-Persistent XSS). Atakujący umieszcza szkodliwy skrypt w URL, który jest następnie wysyłany do ofiary, na przykład za pośrednictwem linku w wiadomości e-mail. Gdy ofiara kliknie link, skrypt jest wykonany przez jej przeglądarkę.
  • DOM-based XSS. Ten typ ataku występuje, gdy skrypt manipuluje Document Object Model (DOM) strony w sposób, który pozwala na wykonanie szkodliwego kodu.

Ataki XSS mogą prowadzić do różnych niebezpiecznych sytuacji, takich jak kradzież danych uwierzytelniających, manipulacja treścią strony internetowej, przekierowywanie użytkowników na szkodliwe strony i inne.

Aby chronić aplikacje przed atakami XSS, deweloperzy mogą zastosować różne strategie, takie jak:

  • Escaping (zabezpieczanie) danych wyjściowych, czyli przekształcanie potencjalnie szkodliwych znaków w bezpieczne odpowiedniki.
  • Walidacja i sanityzacja danych wejściowych, co oznacza sprawdzanie i czyszczenie wszelkich danych otrzymanych od użytkowników.
  • Stosowanie Content Security Policy (CSP), która ogranicza, jakie i skąd skrypty mogą być uruchamiane na stronie.


Cross-Site Scripting (XSS) to rodzaj ataku na aplikacje internetowe, który polega na wstrzykiwaniu szkodliwego kodu, zwykle w języku JavaScript, do stron internetowych wyświetlanych innym użytkownikom. Atakujący wykorzystuje luki w zabezpieczeniach aplikacji, aby wprowadzić swój kod, który jest następnie uruchamiany przez przeglądarki innych użytkowników.

Są trzy główne typy ataków XSS:

  1. Stored XSS (Persistent XSS): Atakujący zapisuje szkodliwy skrypt w aplikacji, na przykład poprzez wpisanie go w polu komentarza na stronie. Gdy inni użytkownicy odwiedzają tę stronę, ich przeglądarka wykonuje skrypt.
  2. Reflected XSS (Non-Persistent XSS): Atakujący umieszcza szkodliwy skrypt w URL, który jest następnie wysyłany do ofiary, na przykład za pośrednictwem linku w wiadomości e-mail. Gdy ofiara kliknie link, skrypt jest wykonany przez jej przeglądarkę.
  3. DOM-based XSS: Ten typ ataku występuje, gdy skrypt manipuluje Document Object Model (DOM) strony w sposób, który pozwala na wykonanie szkodliwego kodu.

Ataki XSS mogą prowadzić do różnych niebezpiecznych sytuacji, takich jak kradzież danych uwierzytelniających, manipulacja treścią strony internetowej, przekierowywanie użytkowników na szkodliwe strony i inne.

Aby chronić aplikacje przed atakami XSS, deweloperzy mogą zastosować różne strategie, takie jak:

  • Escaping (zabezpieczanie) danych wyjściowych, czyli przekształcanie potencjalnie szkodliwych znaków w bezpieczne odpowiedniki.
  • Walidacja i sanityzacja danych wejściowych, co oznacza sprawdzanie i czyszczenie wszelkich danych otrzymanych od użytkowników.
  • Stosowanie Content Security Policy (CSP), która ogranicza, jakie i skąd skrypty mogą być uruchamiane na stronie.