Egy nem kívánt műveletet hajt végre a támadó.
Lehetséges utalás:
https://bank.example/transfer?to=123456&amount=100
Egy hamis weboldalon a következő láthatatlan kép van.
<img src="https://bank.example/transfer?to=123456&amount=100" width="0" height="0">
Az XSS elkerüléséhez ellenőrizzünk minden olyat adatot ami felhasználói bevitelből származik. Az adatbázisban is előfordulhatnak ilyen adatok.
Lehetőleg kerüljük a HTML kimenetet. Használjunk HTML entitásokat.
HTML karakter | Helyette használandó HTML entitás |
---|---|
< (kisebb mint) | < |
< (nagyobb mint) | > |
& (ampersand) helyett | & |
„ (idézőjel) helyett | " |
' (aposztróf) helyett | ' vagy ' |
A bemenet ellenőrzése legyen szigorú. Az email az legyen email. Ha létre kell hozni egy azonosítót (nem adatbázisban) az feleljen meg a UUID szabványnak.
Felhasználói bemenetek soha ne kerüljenek a következő helyekre:
Az XSS futtatáshoz teszteléséhez használjuk az alert() helyett a print() utasítást. Újabb Google Chrome böngészőkben az alert() alapból tiltva van a böngészők közötti figyelmeztetésben, ifrmae-en belül.