Cross Site Scripting

Cross-Site Scripting (XSS)

Wprowadzenie

<strong>Cross-Site Scripting (XSS)</strong> 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

  • <strong>Stored XSS (Persistent)</strong><br /> Najniebezpieczniejszy typ. Złośliwy kod jest zapisany na serwerze (np. w komentarzu, poście, recenzji) i wyświetla się każdemu użytkownikowi.
  • <strong>Reflected XSS (Non-Persistent)</strong><br /> Kod jest zawarty w linku lub formularzu i odbijany natychmiast od serwera (często poprzez phishing).
  • <strong>DOM-based XSS</strong><br /> 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)

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

Powiązane pojęcia

Dodano: 16 maja 2026