VOOZH about

URL: https://sk.wikipedia.org/wiki/Cross-site_scripting

⇱ Cross-site scripting - Wikipédia


Preskočiť na obsah
z Wikipédie, slobodnej encyklopédie

Cross-site scripting (XSS) je metóda narušenia WWW stránok využitím bezpečnostných chýb v skriptoch (predovšetkým neošetrené vstupy). Útočník vďaka týmto chybám v zabezpečení webovej aplikácie dokáže do stránok podstrčiť svoj vlastný javascriptový kód, čo môže využiť buď iba k poškodeniu vzhľadu stránky, jej znefunkčneniu alebo dokonca k získavaniu citlivých údajov návštevníkov stránky, obchádzaniu bezpečnostných prvkov aplikácie a phishingu. Cross-site scripting bol pôvodne označovaný ako CSS, ale táto skratka sa už naďalej nepoužíva, používa sa pre kaskádové štýly.

Typy cross-site scriptingu

[upraviť | upraviť zdroj]

XSS sa zvyčajne rozdeľuje podľa toho, odkiaľ sa škodlivý kód dostane do webovej stránky a kde sa chyba nachádza. Medzi najčastejšie uvádzané typy patria reflektovaný, uložený a DOM-based XSS.[1] Niektoré zdroje upozorňujú, že tieto kategórie sa môžu prekrývať, preto sa používa aj širšie delenie na server-side XSS a client-side XSS.[2]

Reflektovaný XSS

[upraviť | upraviť zdroj]

Reflektovaný XSS je typ útoku, pri ktorom webová aplikácia prijme údaje z požiadavky používateľa a nebezpečným spôsobom ich vloží priamo do okamžitej odpovede stránky.[3] Škodlivý vstup sa zvyčajne neukladá na serveri, ale prejaví sa až po otvorení špeciálne upravenej adresy alebo odoslaní požiadavky. Tento typ XSS sa preto označuje aj ako neperzistentný XSS.

Uložený XSS

[upraviť | upraviť zdroj]

Uložený XSS alebo perzistentný XSS vzniká vtedy, keď aplikácia prijme nebezpečný vstup, uloží ho a neskôr ho zobrazí iným používateľom bez dostatočného ošetrenia.[4] Typickým príkladom môžu byť komentáre, používateľské profily, príspevky vo fórach alebo iný obsah, ktorý sa po uložení zobrazuje ďalším návštevníkom stránky. Uložený XSS býva nebezpečný najmä preto, že obeť nemusí otvárať externý odkaz; stačí, že navštívi infikovanú časť legitímnej aplikácie.

DOM-based XSS

[upraviť | upraviť zdroj]

DOM-based XSS vzniká na strane klienta, teda v prehliadači, keď skript na stránke nebezpečne spracuje údaje pochádzajúce napríklad z adresy URL alebo iného používateľom ovplyvniteľného zdroja.[5] Pri tomto type nemusí byť škodlivý kód vložený do HTML odpovede serverom; problém môže vzniknúť až pri práci JavaScriptu s objektovým modelom dokumentu (DOM). OWASP ho opisuje ako útok, pri ktorom sa škodlivý kód vykoná v dôsledku zmeny DOM prostredia v prehliadači obete.[6]

Server-side a client-side XSS

[upraviť | upraviť zdroj]

Okrem tradičného delenia sa používa aj rozlíšenie na server-side XSS a client-side XSS. Pri server-side XSS sa nebezpečný vstup vloží do stránky počas spracovania požiadavky na serveri. Pri client-side XSS vzniká problém až v prehliadači, keď klientsky JavaScript nebezpečne spracuje dáta a vloží ich do stránky.[2] Toto delenie lepšie vystihuje prípady, keď sa klasické kategórie prekrývajú, napríklad pri kombinácii uloženého alebo reflektovaného XSS s DOM-based spracovaním.

Referencie

[upraviť | upraviť zdroj]
  1. What is cross-site scripting (XSS) and how to prevent it? [online]. PortSwigger Web Security Academy, [cit. 2026-05-01]. Dostupné online.
  2. 1 2 Types of Cross-Site Scripting [online]. OWASP, [cit. 2026-05-01]. Dostupné online.
  3. Reflected XSS [online]. PortSwigger Web Security Academy, [cit. 2026-05-01]. Dostupné online.
  4. Stored XSS [online]. PortSwigger Web Security Academy, [cit. 2026-05-01]. Dostupné online.
  5. DOM-based XSS [online]. PortSwigger Web Security Academy, [cit. 2026-05-01]. Dostupné online.
  6. DOM Based XSS [online]. OWASP, [cit. 2026-05-01]. Dostupné online.