Pouze na jaře: Spusťte web za 169 Kč s AI WebEditorem ZDARMA k doméně. 

Co je Cross-site scripting

Cross-site scripting (XSS) je bezpečnostní zranitelnost, která umožňuje útočníkovi vložit škodlivý skript do webové stránky zobrazované jiným uživatelům. Nejčastěji jde o vložení škodlivého JavaScriptu, který se spustí v prohlížeči oběti. Útočník tak může například odcizit přihlašovací údaje nebo manipulovat s obsahem stránky.

Cross-site scripting patří mezi nejčastější bezpečnostní chyby webových aplikací a dlouhodobě se objevuje i v přehledu OWASP Top 10.

Jak Cross-site scripting funguje

Cross-site scripting využívá nedostatečné ošetření vstupních dat. Pokud aplikace nekontroluje nebo správně „nečistí“ uživatelský vstup, může se škodlivý kód stát součástí stránky. Typický scénář může vypadat takto:

  • útočník vloží škodlivý skript do formuláře nebo URL
  • aplikace tento vstup bez úprav zobrazí dalším uživatelům
  • skript se automaticky spustí v jejich prohlížeči

Prohlížeč oběti přitom považuje skript za důvěryhodný, protože pochází z legitimní, ale napadené stránky.

Typy XSS útoků

XSS útoky se dělí na několik základních typů podle způsobu provedení. Nejčastější jsou:

  • Stored XSS – škodlivý kód je uložen na serveru (např. v databázi) a zobrazován opakovaně
  • Reflected XSS – škodlivý kód je součástí URL nebo požadavku a okamžitě vrácen uživateli
  • DOM-based XSS – útok probíhá přímo v prohlížeči na úrovni manipulace s DOM

Stored XSS bývá považován za nejnebezpečnější, protože zasahuje více uživatelů dlouhodobě.

Co může XSS způsobit

Důsledky XSS útoku mohou být závažné. Například může dojít k:

  • krádeži přihlašovacích údajů
  • odcizení session cookie
  • přesměrování uživatele na podvodný web
  • úpravě obsahu stránky
  • spouštění škodlivého kódu

XSS může vést i k převzetí uživatelského účtu.

Jak se proti Cross-site scriptingu bránit

Ochrana proti Cross-site scriptingu spočívá především v bezpečném vývoji aplikace. Základní opatření zahrnují:

Prevence je výrazně jednodušší než řešení následků útoku.

Poslední aktualizace: