Cross-site scripting: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 17:
Per verificare la vulnerabilità di un sito è sufficiente (ad esempio) provare ad inserire del codice [[javascript]] nel suo campo di ricerca allo scopo di produrre effetti sulla pagina risultante, causando l'esecuzione del codice inserito.
Il seguente è un semplice frammento di codice adatto al test:<br />
<
Tra le operazioni che è possibile indurre il browser ad eseguire vi sono l'invio del contenuto di [[cookie]] a terze parti e l'aggiunta di elementi (X)HTML alla pagina, operazione che può servire facilmente a sottrarre credenziali di autenticazione per mezzo di un modulo di inserimento contraffatto sovrapposto ad un modulo originariamente presente nella pagina web.
== Come difendersi ==
=== Escape degli input ===
Il metodo più sicuro è adottare, da parte del programmatore, un'adeguata politica di [[escape]] degli input, allo stesso modo con cui si procede per evitare le [[SQL injection]], eliminando però i tag [[html]] "pericolosi" o non graditi, primi tra tutti quelli di scripting. Più precisamente la tecnica più diffusa e più semplice è trasformare '''<''' e '''>''' rispettivamente in & lt; e & gt;, anche se ciò non è sufficiente in applicazioni che fanno largo uso di [[javascript]]<ref>[http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content]</ref>.
=== Aggiornare il browser ===
Per gli utenti, una possibile difesa è mantenere aggiornati i browser, le ultime versioni includono un filtro per questo tipo di attacchi, come [[Internet Explorer]]<ref>[http://windows.microsoft.com/it-IT/internet-explorer/products/ie-9/features/cross-site-scripting-filter Filtro Internet explorer 9]</ref> e [[Mozilla Firefox]]<ref>[http://www.ilsoftware.it/articoli.asp?id=5566 Mozilla contro gli attacchi XSS: novità per Firefox].
== Note ==
|