Cross-Site Scripting (XSS)

Wprowadzenie

Cross-Site Scripting (XSS) to jeden z najstarszych i nadal najczęściej wykorzystywanych ataków na aplikacje webowe. Polega na wstrzyknięciu złośliwego kodu JavaScript do strony, który następnie jest wykonywany w przeglądarce innego użytkownika.

Rodzaje ataków XSS

  • Stored XSS (Persistent)
    Najniebezpieczniejszy typ. Złośliwy kod jest zapisany na serwerze (np. w komentarzu, poście, recenzji) i wyświetla się każdemu użytkownikowi.
  • Reflected XSS (Non-Persistent)
    Kod jest zawarty w linku lub formularzu i odbijany natychmiast od serwera (często poprzez phishing).
  • DOM-based XSS
    Atak odbywa się całkowicie po stronie klienta – kod modyfikuje strukturę DOM bez udziału serwera.

Możliwe skutki ataku

  • Kradzież sesji (Session Hijacking)
  • Kradzież ciasteczek, tokenów autoryzacyjnych
  • Wykonywanie nieautoryzowanych akcji w imieniu użytkownika
  • Defacement strony
  • Instalacja keyloggera lub cryptojackera
  • Ataki na innych użytkowników (np. wormy na Facebooku)

Najlepsze metody ochrony (2026)

  • Content Security Policy (CSP) – najskuteczniejsza ochrona
  • Automatyczne escapowanie danych wyjściowych ( escaping HTML, JS, CSS, URL)
  • Używanie frameworków z wbudowaną ochroną (React, Vue, Angular)
  • HttpOnly + Secure flagi dla ciasteczek
  • Subresource Integrity (SRI) dla zewnętrznych skryptów
  • Regularne skanowanie aplikacji (DAST + SAST)

Powiązane pojęcia

OWASP Top 10 • CSRF • Clickjacking • Content Security Policy (CSP) • DOM Purification • Sanitization • Web Application Firewall (WAF)

Dodano: 16 maja 2026