Přeskočit na hlavní obsah

Jak vypadá stored XSS

XSS zranitelnost má víc typů. V tomto díle se naučíme, jak hacknout tzv. stored XSS zranitelnost a jak ji v kódu opravit. Vysvětlíme si také best practices spojené s XSS.

Naše aplikace umožňuje zákazníkům, aby nás kontaktovali prostřednictvím formuláře.

Kontaktní formulář na webu

Administrátor potom takto odeslanou zprávu uvidí v administraci.

Odeslaná zpráva je vidět v administraci webu

Formulář je ale zranitelný. Umožňuje útočníkovi poslat kus javascriptového kódu.

XSS alert v kontaktním formulářiChybějící validace v login metodě

Tento kód se uloží na serveru a na straně administrátora se potom vykoná / spustí.

XSS alert zobrazený v administraci

Takto se dají ukrást například cookies. Jak vidíte, veškeré proměnné, které se do šablony dostanou, nejsou escapovány. K tomu neslouží znak mínus (-), ale znak rovná se (=). Po této úpravě už by k této zranitelnosti nemělo docházet.

Escapování výstupu v JS šabloně

XSS zranitelnost má víc typů, ale důležitou obranou je validace a escapování uživatelského vstupu.

Podívejte se na video, kde tuto funkcionalitu hackuju a rovnou v kódu opravuju:

Dej odběr a žádné další video už ti neunikne. 👇