Cosa fa la protezione X-XSS?

X-XSS-Protection era un'intestazione di sicurezza che esiste dalla versione 4 di Google Chrome. È stato progettato per abilitare uno strumento che controllasse il contenuto del sito Web per lo scripting cross-site riflesso. Tutti i principali browser hanno ora ritirato il supporto per l'intestazione poiché ha finito per introdurre difetti di sicurezza. Si consiglia vivamente di non impostare affatto l'intestazione e di configurare invece una solida politica di sicurezza dei contenuti.

Suggerimento: lo scripting tra siti è generalmente abbreviato con l'acronimo "XSS".

Lo scripting cross-site riflesso è una classe di vulnerabilità XSS in cui l'exploit è codificato direttamente nell'URL e colpisce solo l'utente che visita l'URL. XSS riflesso è un rischio quando la pagina Web visualizza i dati dall'URL. Ad esempio, se un negozio online ti consente di cercare prodotti, potrebbe avere un URL simile a questo "sito web.com/ricerca? term=regalo” e includi la parola “regalo” nella pagina. Il problema inizia se qualcuno inserisce JavaScript nell'URL, se non è adeguatamente disinfettato, questo JavaScript potrebbe essere eseguito anziché stampato sullo schermo come dovrebbe essere. Se un utente malintenzionato può indurre un utente a fare clic su un collegamento con questo tipo di payload XSS, potrebbe essere in grado di eseguire operazioni come prendere il controllo della sessione.

X-XSS-Protection aveva lo scopo di rilevare e prevenire questo tipo di attacco. Sfortunatamente, nel tempo sono stati rilevati numerosi bypass e persino vulnerabilità nel modo in cui il sistema funzionava. Queste vulnerabilità significavano che l'implementazione dell'intestazione X-XSS-Protection avrebbe introdotto una vulnerabilità di scripting tra siti in un sito Web altrimenti sicuro.

Per proteggersi da ciò, fermo restando che l'intestazione della politica di sicurezza dei contenuti, in genere abbreviato in "CSP", include funzionalità per sostituirlo, gli sviluppatori del browser hanno deciso di ritirare il caratteristica. La maggior parte dei browser, inclusi Chrome, Opera ed Edge, ha rimosso il supporto o, nel caso di Firefox, non l'ha mai implementato. Si consiglia ai siti Web di disabilitare l'intestazione, per proteggere gli utenti che ancora utilizzano browser legacy con la funzione abilitata.

X-XSS-Protection può essere sostituito con l'impostazione "unsafe-inline" nell'intestazione CSP. Essere in grado di abilitare questa impostazione potrebbe richiedere molto lavoro a seconda del sito Web, poiché significa che tutto JavaScript deve essere in script esterni e non può essere incluso direttamente nell'HTML.