Co dělá X-XSS-Protection?

X-XSS-Protection byla bezpečnostní hlavička, která existuje od verze 4 prohlížeče Google Chrome. Byl navržen tak, aby umožňoval nástroj, který kontroloval obsah webových stránek, zda neobsahuje skriptování mezi stránkami. Všechny hlavní prohlížeče nyní ukončily podporu pro záhlaví, protože to skončilo zavedením bezpečnostních chyb. Důrazně doporučujeme, abyste záhlaví vůbec nenastavovali a místo toho nakonfigurovali silné zásady zabezpečení obsahu.

Tip: Cross-Site Scripting se obecně zkracuje na zkratku „XSS“.

Reflected cross-site scripting je třída zranitelnosti XSS, kde je zneužití přímo zakódováno v adrese URL a ovlivňuje pouze uživatele, který adresu URL navštíví. Reflected XSS představuje riziko, když webová stránka zobrazuje data z adresy URL. Pokud vám například internetový obchod umožňuje vyhledávat produkty, může mít adresu URL, která vypadá takto „website.com/search? termín=dárek“ a na stránce uveďte slovo „dárek“. Problém začíná, pokud někdo vloží JavaScript do adresy URL, pokud není správně vyčištěn, lze tento JavaScript spustit, nikoli vytisknout na obrazovku, jak by mělo být. Pokud by se útočníkovi podařilo oklamat uživatele, aby klikl na odkaz s tímto druhem užitečného zatížení XSS, mohl by například převzít kontrolu nad jejich relací.

X-XSS-Protection byl určen k detekci a prevenci tohoto typu útoku. Bohužel se postupem času našla řada obchvatů a dokonce zranitelností ve způsobu fungování systému. Tyto zranitelnosti znamenaly, že implementace hlavičky X-XSS-Protection by na jinak zabezpečeném webu zavedla zranitelnost skriptování mezi weby.

Chcete-li se proti tomu chránit, s tím, že záhlaví Zásady zabezpečení obsahu obecně zkráceno na „CSP“, obsahuje funkce, které jej nahrazují, vývojáři prohlížečů se rozhodli tuto verzi stáhnout Vlastnosti. Většina prohlížečů, včetně Chrome, Opera a Edge, buď podporu odstranila, nebo ji v případě Firefoxu nikdy neimplementovala. Webům se doporučuje záhlaví deaktivovat, aby byli chráněni uživatelé, kteří stále používají starší prohlížeče s touto funkcí.

X-XSS-Protection lze nahradit nastavením „unsafe-inline“ v hlavičce CSP. Možnost povolit toto nastavení může v závislosti na webu vyžadovat hodně práce, protože to znamená, že veškerý JavaScript musí být v externích skriptech a nelze je zahrnout přímo do kódu HTML.