Browser nima tukaj prav veliko veze. Ne vem zakaj vsi pisete v stilu "wow meni dela tudi z IE 7".
Ce webserver dolocene podatke poslje jih pac poslje - in JavaScript podporo, hja to imas
pa ce ne uporablas lynx-a v prav vsakem danasnjem brskalniku.
Napaka je bila v tem, da je bilo mozno pridobiti listo kontaktov dolocene osebe
(kar ni tako kriticno), ne pa dostop do tujega uporabniskega racuna.
Pa se pri tem so morali biti izpolnjeni doloceni pogoji:
- uporabnik je moral biti logiran v Gmail
- uporabnik je moral obiskati doloceno (zlonamerno) stran
To, ce dobis XML fajl s podatki NI VEC varnostna pomankljivost in je priblizno tako
kot ce bi rekel "O ne... lahko se prijavim na Gmail". :)
Navsezdanje lahko listo kontaktov v HTML obliki dobis tudi na gmail.com, ne?
Problem je bila
JSON predstavitev teh podatkov.
Same origin policy je zascita, ki se uporablja.
Neka stran lahko sicer "zahteva" podatke od nekje drugje (torej zlonamerna stran od Gmaila), ampak
potem do teh programsko ne more dostopati. Torej zlonamerna koda teh ne more posredovati naprej napadalcu, ampak
jih lahko kvecjemu samo prikaze uporabniku.
V tem konkretnem primeru pa je lahko zlonamerna koda overridala Array() konstruktor in Gmailov odgovor v obliki JavaScript tabele j
e poskrbel zato, da je zlonamerna koda na strani pridobila podatke (dejansko se je vedno klical tisti konstruktor, ki je prenesel
podatke "zlobnemu delu").
Sedaj so podatki v XML obliki. Do njih lahko dostopa *.gmail.com preko AJAX-a. Stran, ki se nahaja kje drugje pa tega ne more
in zato torej ni razloga za skrb.