Data dodania: 18-05-2025
Znany również jako:
Cross-Site ScriptingAtak XSSWstrzykiwanie skryptów
Definicja XSS
Cross-Site Scripting (XSS) to podatność aplikacji webowej polegająca na tym, że użytkownik może wstrzyknąć złośliwy kod (najczęściej JavaScript), który następnie zostanie wykonany w przeglądarce innego użytkownika. Skrypt ten działa w kontekście zaufanej strony i może wykradać dane, przejmować sesje lub manipulować interfejsem.
Typy ataków XSS
Rodzaj XSS | Charakterystyka | Przykład zastosowania |
---|---|---|
Stored XSS | Złośliwy skrypt zapisany w bazie danych i wyświetlany innym | Komentarze w blogu wyświetlające JS innym |
Reflected XSS | Skrypt przesyłany w URL lub formularzu i natychmiast odsyłany | Link phishingowy z payloadem w parametrze URL |
DOM-based XSS | Manipulacja DOM-em po stronie klienta bez udziału serwera | JS operujący na location.hash lub document.write |
Skutki ataków XSS
- Kradzież ciasteczek sesyjnych – umożliwia przejęcie konta.
- Fałszywe formularze – phishing w obrębie zaufanej domeny.
- Modyfikacja treści strony – wprowadzenie fałszywych informacji lub elementów.
- Zdalne wykonanie poleceń – w połączeniu z podatnościami przeglądarki.
Mechanizmy ochrony przed XSS
- Escapowanie danych wyjściowych – konwersja znaków specjalnych (np.
<
,>
,"
). - Walidacja danych wejściowych – odrzucanie niedozwolonych znaków i struktur.
- Content Security Policy (CSP) – ograniczenie źródeł z których można ładować skrypty.
- HttpOnly i Secure cookies – utrudnienie kradzieży sesji.
- Ramki i sandboxing – izolowanie komponentów dynamicznych.
Wykrywanie i testowanie XSS
- Narzędzia DAST (np. ZAP, Burp Suite) do automatycznej analizy dynamicznej.
- Manualne payloady do testów ręcznych (
<script>alert('XSS')</script>
). - Wykorzystanie polityk CSP violation reporting.
- Integracja z CI/CD – testy podatności w pipeline devopsowym.
Powiązania z innymi pojęciami
- CVE – konkretne przypadki XSS mają przypisane identyfikatory CVE.
- Pentest – testy penetracyjne regularnie wykrywają XSS w aplikacjach webowych.
- SIEM / SOC – systemy rejestrują nietypowe ruchy w aplikacjach narażonych na XSS.
- OWASP Top 10 – XSS regularnie klasyfikowany jako jedna z głównych podatności.
Przykład ataku XSS (reflected)
<a href="https://example.com/search?q=<script>alert('XSS')</script>">Kliknij</a>