Edellisessä artikkelissa opimme XSS (Cross Site Scripting) -virheistä ja XSS Reflectedin todellisesta hyödyntämisestä. On olemassa toinenkin vaarallisempi XSS-tyyppi: tallennettu XSS.
Toisin kuin Reflected, joka hyökkää suoraan muutamiin hakkereiden kohteena olevia uhreja vastaan, Stored XSS kohdistuu useampaan uhriin. Tämä virhe ilmenee, kun verkkosovellus ei tarkista syöttötietoja perusteellisesti ennen sen tallentamista tietokantaan (tässä käytän tätä käsitettä viittaamaan tietokantaan, tiedostoon tai muihin sovellustietoja tallentaviin alueisiin. web).
Stored XSS -tekniikalla hakkerit eivät hyödynnä sitä suoraan, vaan heidän on tehtävä se vähintään kahdessa vaiheessa.
Ensinnäkin hakkerit käyttävät suodattamattomia syöttöpisteitä (lomake, syöttö, tekstialue...) vaarallisen koodin lisäämiseksi tietokantaan.

Seuraavaksi, kun käyttäjä käyttää verkkosovellusta ja suorittaa tähän tallennettuun tietoon liittyviä toimintoja, hakkerin koodi suoritetaan käyttäjän selaimessa.

Tässä vaiheessa hakkeri näyttää saavuttaneen tavoitteensa. Tästä syystä Stored XSS -tekniikkaa kutsutaan myös toisen asteen XSS:ksi.
Hyödyntämisskenaario kuvataan seuraavasti:

Reflected XSS:llä ja Stored XSS:llä on kaksi suurta eroa hyökkäysprosessissa.
- Ensinnäkin Reflected XSS:n hyödyntämiseksi hakkerin on huijattava uhri pääsemään URL-osoitteeseen. Mitä tulee Stored XSS:ään, tätä ei tarvitse tehdä, vaan kun hakkeri on lisännyt vaarallisen koodin sovelluksen tietokantaan, hakkerin tarvitsee vain odottaa uhrin pääsyä siihen automaattisesti. Uhreille tämä on täysin normaalia, koska he eivät tiedä, että heidän käyttämiensä tietojen on saanut tartunnan.
- Toiseksi hakkerin tavoite on helpompi saavuttaa, jos uhri on hyökkäyksen hetkellä vielä verkkosovelluksen istunnossa. Reflected XSS:n avulla hakkeri voi vakuuttaa tai huijata uhrin kirjautumaan sisään ja käyttämään antamaansa URL-osoitetta haitallisen koodin suorittamiseksi. Mutta Stored XSS on eri asia, koska haitallinen koodi on tallennettu verkkotietokantaan, joten aina kun käyttäjä käyttää siihen liittyviä toimintoja, haitallinen koodi suoritetaan, ja todennäköisesti nämä toiminnot vaativat todennuksen. Kirjaudu ensin sisään, joten ilmeisesti tänä aikana käyttäjä on edelleen istunnossa.
Näistä asioista voidaan nähdä, että Stored XSS on paljon vaarallisempi kuin Reflected XSS, aiheita voivat olla kaikki kyseisen verkkosovelluksen käyttäjät. Ja jos uhrilla on hallinnollinen rooli, on olemassa myös verkkokaappauksen vaara.