V předchozím článku jsme se dozvěděli o chybách XSS (Cross Site Scripting) a skutečném využívání XSS Reflected. Existuje další typ XSS, který je považován za nebezpečnější: Uložené XSS.
Na rozdíl od Reflected, který přímo útočí na několik obětí zaměřených hackery, Stored XSS cílí na více obětí. K této chybě dochází, když webová aplikace důkladně nezkontroluje vstupní data před jejich uložením do databáze (zde tento pojem používám k označení databáze, souboru nebo jiných oblastí, které ukládají data aplikace. web).
S technikou Stored XSS ji hackeři nezneužívají přímo, ale musí to udělat alespoň ve 2 krocích.
Za prvé, hackeři používají nefiltrované vstupní body (formulář, vstup, textová oblast...) k vložení nebezpečného kódu do databáze.

Poté, když uživatel přistoupí k webové aplikaci a provede operace související s těmito uloženými daty, bude v prohlížeči uživatele spuštěn hackerův kód.

V tuto chvíli se zdá, že hacker dosáhl svého. Z tohoto důvodu se technika Stored XSS nazývá také XSS druhého řádu.
Scénář využití je popsán následovně:

Reflected XSS a Stored XSS mají dva hlavní rozdíly v procesu útoku.
- Za prvé, aby hacker zneužil Reflected XSS, musí oklamat oběť, aby získala přístup k jeho URL. Pokud jde o Stored XSS, toto není potřeba, hacker po vložení nebezpečného kódu do databáze aplikace stačí počkat, až se k němu oběť automaticky dostane. Pro oběti je to zcela normální, protože nevědí, že data, ke kterým mají přístup, byla infikována.
- Za druhé, cíle hackera bude snazší dosáhnout, pokud je v době útoku oběť stále v relaci webové aplikace. Pomocí Reflected XSS může hacker přesvědčit nebo oklamat oběť, aby se přihlásila a získala přístup k adrese URL, kterou poskytne, aby spustila škodlivý kód. Ale Stored XSS je jiný, protože škodlivý kód byl uložen ve webové databázi, takže kdykoli uživatel přistoupí k souvisejícím funkcím, škodlivý kód se spustí a tyto funkce s největší pravděpodobností vyžadují ověření. nejprve se přihlaste, takže samozřejmě během této doby uživatel je stále v relaci.
Z těchto věcí je vidět, že Stored XSS je mnohem nebezpečnější než Reflected XSS, dotčenými subjekty mohou být všichni uživatelé dané webové aplikace. A pokud má oběť administrativní roli, existuje také riziko únosu webu.