Cross-site scripting: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rainibot (discussione | contributi)
m minime, replaced: → (3), . → .
La frase precedente era formulata in modo da far sembrare la statistica valida ancora oggi.
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
 
(4 versioni intermedie di 3 utenti non mostrate)
Riga 1:
Il '''cross-site scripting''' ('''XSS''') è una [[vulnerabilità informatica]] che affligge [[Web dinamico|siti web dinamici]] che impiegano un insufficiente controllo dell'[[input]] nei [[form]]. Un XSS permette a un [[Cracker (informatica)|cracker]] di inserire o eseguire codice '''lato client''' al fine di attuare un insieme variegato di attacchi quali, ad esempio, raccolta, manipolazione e reindirizzamento di informazioni riservate, visualizzazione e modifica di dati presenti sui [[server]], alterazione del comportamento dinamico delle [[Pagina web|pagine web]], ecc.
 
Nell'accezione odierna, la tecnica ricomprende l'utilizzo di qualsiasi [[linguaggio di scripting]] [[lato client]] tra i quali [[JavaScript]], [[VBScript]], [[Adobe Flash|Flash]]. Il loro effetto può variare da un piccolo fastidio a un significativo rischio per la [[Sicurezza informatica|sicurezza]], a seconda della sensibilità dei dati trattati nel sito vulnerabile e dalla natura delle strategie di sicurezza implementate dai proprietari del sito web.
 
Secondo un rapporto di [[Symantec]], nel [[2007]], l'80% di tutte le violazioni èera dovuto ad attacchi '''XSS'''<ref>{{en}} [http://eval.symantec.com/mktginfo/enterprise/white_papers/b-whitepaper_exec_summary_internet_security_threat_report_xiii_04-2008.en-us.pdf Symantec Internet Security Threat Report: Trends for July-December 2007] {{Webarchive|url=https://web.archive.org/web/20080625065121/http://eval.symantec.com/mktginfo/enterprise/white_papers/b-whitepaper_exec_summary_internet_security_threat_report_xiii_04-2008.en-us.pdf |data=25 giugno 2008 }}</ref>.
 
== Origine e trasformazione del concetto ==
Riga 41:
 
=== Server-side vs vulnerabilità DOM-based ===
Storicamente le vulnerabilità XSS sono state trovate in applicazioni che svolgevano tutto il processamento dei dati lato server. L'input dell'utente (tra cui un vettore XSS) sarebbe stato inviato al server per poi essere rimandato indietro come una pagina web. La necessità di migliorare la [[User Experience|user experience]] ha dato popolarità ad applicazioni che avevano una logica di presentazione (scritta in [[JavaScript]]) che inviava i dati, su richiesta, al server usando [[AJAX]].
 
Mentre il codice JavaScript processa anche gli input dell'utente e li visualizza nella pagina web, la nuova sottoclasse di attacchi XSS di tipo reflected ha iniziato ad apparire ed è stata chiamata [[Document Object Model|DOM]]-based cross-site scripting. Negli attacchi XSS DOM-based, i dati malevoli non sono toccati dal server web, piuttosto, sono riflessi dal codice JavaScript interamente sul lato client.<ref>{{Cita testo|titolo=[[owasp:DOM Based XSS|DOM Based XSS - OWASP]]|pubblicazione=[[Open Web Application Security Project]]}}</ref>
Riga 51:
 
=== Non-persistent ===
# Alice visita spesso un particolare sito web, che è ospitato da Bob. Il sito web di Bob permette ad Alice di autenticarsi con username e [[password]] e di memorizzare [[dati sensibili]] (come i dati di fatturazione). Quando accede nel sistema, il browser mantiene un cookie di autenticazione, che si presenta come un insieme di caratteri illeggibili, in modo che entrambi i computer (client e server) si ricordino della sua autenticazione.
# Mallory nota che il sito di Bob contiene una vulnerabilità XSS di tipo ''reflected'':
## Quando si visita la pagina di ricerca, si inserisce un termine nella casella di ricerca e si fa click sul tasto invio, se non ci sono risultati la pagina visualizzerà il termine cercato seguito dalle parole “non trovato”, e l'URL sarà <code><nowiki>http://bobssite.org?q=her</nowiki></code>
Riga 103:
Alcuni browser o plugin per browser possono essere configurati per disattivare gli script lato client in base al dominio. Questo approccio ha valore limitato se gli script sono abilitati di default, dato che verranno bloccati quando l'utente li avrà riconosciuti come pericolosi, ma ormai sarà troppo tardi. Una funzionalità che blocca tutti gli script e inclusioni esterne di default, e che quindi permette agli utenti di abilitare in base al dominio, è più efficiente. Questo è stato possibile per un lungo periodo su Internet Explorer (dalla versione 4) impostando le cosiddette “zone di sicurezza”<ref>{{Cita web|url=https://support.microsoft.com/kb/174360/en-us|titolo=Security zones: adding or removing websites - Windows Help|sito=windows.microsoft.com|accesso=21 maggio 2016}}</ref> e in Opera (dalla versione 9) usando le “preferenze specifiche del sito”. La soluzione per Firefox e altri [[Gecko]]-based browser è l'add-on open source [[NoScript]] che oltre ad abilitare gli script per dominio, fornisce una certa protezione XSS anche quando gli script sono abilitati<ref>{{Cita web|url=http://db.tidbits.com/article/9511|titolo=Should Mac Users Run Antivirus Software?|sito=db.tidbits.com|accesso=21 maggio 2016}}</ref>.
 
Il problema più rilevante dato dal blocco di tutti gli script in tutti i siti web di default è la sostanziale riduzione delle funzionalità e della reattività (lo scripting lato client può essere molto più veloce rispetto a quello lato server perché non ha bisogno di connettersi ad un server remoto e la pagina, o il frame, non ha bisogno di essere ricaricata). Un altro problema con il blocco dello script è che molti utenti non lo capiscono e non sanno come proteggere adeguatamente il loro browser. Un altro svantaggio che molti siti non funzionano senza scripting lato client, costringendo gli utenti a disattivare la protezione per il sito<ref>{{Cita news|url=http://news.bbc.co.uk/2/hi/technology/6210068.stm|titolo='Most websites' failing disabled|pubblicazione=BBC|data=5 dicembre 2006|accesso=21 maggio 2016}}</ref>. L'estensione per Firefox NoScript consente agli utenti di abilitare gli script da una determinata pagina ma non consente l'esecuzione ad altri della stessa pagina. Ad esempio, gli script da example.com possono eseguire, gli script da advertisingagency.com che sta tentando di eseguire sulla stessa pagina possono essere disabilitati<ref>{{Cita web|url=https://noscript.net/features|titolo=NoScript - JavaScript/Java/Flash blocker for a safer Firefox experience! - features - InformAction|sito=noscript.net|accesso=21 maggio 2016}}</ref>.
 
=== Tecnologie di difesa emergenti ===
Riga 124:
== Note ==
<references />
 
== Collegamenti esterni ==
* http://dominator.mindedsecurity.com Dominator and Dominator Pro tool Opensource per identificare domXSS
 
== Voci correlate ==
Line 133 ⟶ 130:
== Altri progetti ==
{{interprogetto|preposizione=sul}}
 
== Collegamenti esterni ==
* http://dominator.mindedsecurity.com Dominator and Dominator Pro tool Opensource per identificare domXSS
 
{{Portale|Sicurezza informatica}}