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