Čo robí X-XSS-Protection?

X-XSS-Protection bola hlavička zabezpečenia, ktorá existuje od verzie 4 prehliadača Google Chrome. Bol navrhnutý tak, aby umožňoval nástroj, ktorý kontroloval obsah webovej lokality, či neobsahuje skriptovanie medzi lokalitami. Všetky hlavné prehliadače teraz ukončili podporu pre hlavičku, pretože to skončilo zavádzaním bezpečnostných chýb. Dôrazne sa odporúča, aby ste hlavičku vôbec nenastavovali a namiesto toho nakonfigurovali silnú politiku zabezpečenia obsahu.

Tip: Cross-Site Scripting sa vo všeobecnosti skracuje na skratku „XSS“.

Zrkadlené skriptovanie medzi stránkami je trieda zraniteľnosti XSS, kde je zneužitie priamo zakódované v adrese URL a ovplyvňuje iba používateľa, ktorý adresu URL navštívi. Zrkadlený XSS predstavuje riziko, keď webová stránka zobrazuje údaje z adresy URL. Napríklad, ak vám internetový obchod umožňuje vyhľadávať produkty, môže mať adresu URL, ktorá vyzerá takto „website.com/search? výraz=darček“ a na stránke uveďte slovo „darček“. Problém začína, ak niekto vloží JavaScript do adresy URL, ak nie je správne vyčistená, tento JavaScript by sa mohol spustiť a nie vytlačiť na obrazovku, ako by malo byť. Ak by sa útočníkovi podarilo oklamať používateľa, aby klikol na odkaz s týmto druhom užitočného zaťaženia XSS, mohol by byť schopný napríklad prevziať kontrolu nad ich reláciou.

X-XSS-Protection bol určený na detekciu a prevenciu tohto typu útoku. Žiaľ, postupom času sa v spôsobe fungovania systému našlo množstvo obchvatov a dokonca aj slabých miest. Tieto zraniteľnosti znamenali, že implementácia hlavičky X-XSS-Protection by zaviedla zraniteľnosť skriptovania medzi stránkami na inak zabezpečenej webovej lokalite.

Na ochranu pred týmto, s tým, že hlavička Zásady zabezpečenia obsahu, všeobecne skrátený na „CSP“, obsahuje funkcie, ktoré ho nahradia, vývojári prehliadačov sa rozhodli stiahnuť ho vlastnosť. Väčšina prehliadačov, vrátane Chrome, Opera a Edge, buď zrušila podporu, alebo v prípade Firefoxu ju nikdy neimplementovala. Odporúča sa, aby webové stránky zakázali hlavičku, aby sa ochránili používatelia, ktorí stále používajú staršie prehliadače so zapnutou funkciou.

X-XSS-Protection možno nahradiť nastavením „unsafe-inline“ v hlavičke CSP. Možnosť povoliť toto nastavenie môže vyžadovať veľa práce v závislosti od webovej lokality, pretože to znamená, že všetok JavaScript musí byť v externých skriptoch a nemôže byť zahrnutý priamo do kódu HTML.