Attacchi XSS: come proteggere se stessi, i propri clienti e la propria azienda

5 Min.
In questo modo i gestori di siti web e gli utenti possono proteggersi da attacchi di scripting cross-site.
Ultimo aggiornamento il 23/01/2020

Gli attacchi XSS sono particolarmente subdoli. E soprattutto popolare tra gli hacker. Vi mostriamo come potete proteggervi contro il dirottamento del vostro sito - come operatore del sito e come utente.

1599 WordPress - il fornitorePlugins Wordfence di sicurezza ha più di 14 mesi analisi e la debolezza più comune di tutte era la cosiddetta Vulnerabilità XSS. Quasi il 47 per cento delle lacune riscontrate erano legate al cross-site scripting - XSS in breve. Motivo sufficiente per dare un'occhiata più da vicino al tipo di attacco in cui gli hacker si infiltrano nel vostro sito con codice maligno e lo dirottano virtualmente. Gli aggressori utilizzano il vostro blog, il vostro negozio o il vostro sito web aziendale come veicolo per le loro attività illegali.

Questo grafico mostra che XSS è wordfence la vulnerabilità più comunemente riscontrata in Plugins XSS.
XSS è wordfence la vulnerabilità più comunemente riscontrata in Plugins XSS.

Le vulnerabilità XSS diventano sempre pericolose quando l'input dell'utente viene inoltrato al server web senza verifica, ad esempio nei moduli di contatto o nei campi di commento. Una volta ottenuto il successo, gli hacker possono rubare dati, integrare il vostro sito in una botnet o infettare i computer dei vostri visitatori. Fortunatamente esistono delle misure di protezione molto semplici contro gli attacchi XSS.

XSS è ugualmente rilevante per i visitatori e gli operatori del sito

È importante comprendere che le vulnerabilità XSS sulle WordPress pagine sono ugualmente rilevanti per gli operatori del sito e per i visitatori. Gli operatori del sito vengono sfruttati per soddisfare gli obiettivi di basso livello degli hacker e i visitatori del sito sono spesso le vittime, ad esempio rubando dati o diffondendo codice dannoso.

In linea di principio, gli attacchi XSS iniziano quando gli utenti inviano i dati al server web del gestore del sito. Il codice viene contrabbandato in questi punti nevralgici, che - se l'input dell'utente non viene controllato criticamente, ad esempio da un firewall - può infettare il sito. I diversi tipi di attacchi XSS sono descritti nel nostro articolo di fondo sull'argomento.

La più importante: Regolare WordPress -Aggiornamenti

Le vulnerabilità utilizzate dagli hacker per introdurre il codice dannoso sono o nel WordPress nucleo, Plugins o in Themes. Questo è esattamente il motivo per cui aggiornamento regolare di tutti questi componenti sono anch'essi così importanti. Perché in questi aggiornamenti, i punti deboli che sono stati riscontrati finora vengono corretti.

Ha anche senso leggere regolarmente i dettagli degli aggiornamenti dei rispettivi produttori per avere un'idea delle falle di sicurezza che vengono regolarmente chiuse dagli aggiornamenti. Per la manutenzione e gli aggiornamenti di sicurezza del WordPress -Core, queste informazioni sono documentate ad esempio nel WordPress -Blog. L'esempio migliore è l'ultimo aggiornamento di sicurezza, WordPress 4.7.5.

Firewall e whitelist contro i semplici attacchi XSS

Un'altra semplice misura di protezione contro gli attacchi XSS sono i cosiddetti Firewall per applicazioni webo WAF. Questi firewall sono il cuore della grande sicurezzaPlugins e sono alimentati con le più recenti vulnerabilità dal rispettivo team di ricerca del produttore. A WAF è in generale una procedura che Applicazioni web dagli attacchi attraverso il Trasferimento ipertestuale Protocollo (HTTP) protegge.

Ma anche questi meccanismi di protezione hanno i loro limiti. In alcuni attacchi XSS, infatti, l'attacco avviene tramite la banca dati. Pertanto, la verifica dell'immissione di codice nocivo da parte dell'utente è uno dei meccanismi di sicurezza centrali nella lotta contro gli attacchi XSS. Ad esempio, il contenuto dei commenti sulle stringhe di caratteri sospetti scannerizzato e ordinato, se necessario.

Anche l'uscita dei dati dovrebbe essere protetta

Aggiornamenti regolari chiudono le falle di sicurezza XSS esistenti e i firewall e le whitelist tentano di filtrare il codice dannoso prima che raggiunga il server web e possa infettare il sito. Tuttavia, anche l'uscita dei dati dovrebbe essere assicurata di conseguenza. La maggior parte dei linguaggi di programmazione e scripting, come PHP, Perl o JavaScript, hanno già funzioni predefinite per la sostituzione o il mascheramento dei caratteri. Questi garantiscono che i metacaratteri HTML "problematici" (ad es. <, e >&) siano sostituiti da innocui riferimenti ai caratteri. In questo modo si evita che il codice maligno diventi attivo. Il codice dovrebbe essere protetto anche con il cosiddetto biblioteche di sanificazione deve essere regolato. Questo viene fatto installando un Plugin codice sul server e integrando codice aggiuntivo nel codice sorgente della vostra pagina. Il seguente frammento di codice verrà poi aggiunto agli attributi consentiti, ad esempio:

Questo è l'aspetto che può avere il codice di configurazione necessario per eseguire una sanificazione del codice.
Questo è l'aspetto che può avere il codice necessario per eseguire una sanificazione del codice.

Per implementare tutto ciò è necessaria una conoscenza di programmazione. Uno sviluppatore o un CTO, ad esempio, può facilmente implementare questa protezione dei dati in uscita.

Un sano scetticismo: come gli utenti si proteggono

Ma non solo gli operatori del sito, anche i visitatori del sito sono colpiti dagli attacchi XSS. Molti attacchi XSS possono già essere evitati con una gestione critica e attenta in relazione a link "stranieri". Gli utenti hanno la possibilità, ad esempio, Addons NoScript da usare. Questi impediscono l'esecuzione di script, cioè le linee di codice dannose che rubano i dati, ad esempio.

Se volete andare sul sicuro, potete anche evitare il cross-site scripting lato client semplicemente disattivando il supporto JavaScript nel vostro browser. Perché questo è il cosiddetto scripting attivo è disattivato, alcuni tipi di attacchi XSS non hanno più alcuna possibilità perché le applicazioni dannose non vengono nemmeno avviate. Tuttavia, la maggior parte dei siti web moderni non "funziona" più correttamente - o, nel peggiore dei casi, per niente. Quindi qui è necessario soppesare gli aspetti della sicurezza e dell'usabilità.

In questo modo si disattiva JavaScript con un clic nelle impostazioni del browser Chrome.
In questo modo si disattiva JavaScript con un clic nelle impostazioni del browser Chrome.

Conclusione: gli attacchi XSS sono in parte molto complessi, ma la protezione è in parte abbastanza semplice

XSS rappresenta un pericolo sia per voi come operatori di siti web che per i vostri visitatori e clienti. Sempre più punti deboli Plugins o diventare Themes noti. Ad esempio con il Plugin Statistiche WPcon più di 400.000 installazioni attive, o con WooCommerce e jetpackcon oltre tre milioni di installazioni attive ciascuna.

Ma se mantenete il vostro Plugins e Themes aggiornato e utilizzate un WAF, avete già fatto un grande passo nella giusta direzione. Se utilizzate anche le whitelist per il codice in entrata e in uscita, il vostro sito è già perfettamente protetto. Tuttavia, le ultime due misure in particolare non sono facili da attuare senza competenze di programmazione.

Rispetto al piuttosto primitivo Brute Force Attacchi gli attacchi XSS più complessi sono purtroppo ancora relativamente spesso riusciti. Tuttavia, questi cosiddetti attacchi complessi sono molto meno numerosi di quanto non lo siano Brute Force Attacchi su WordPress -Pagine dà. Tuttavia, dovreste rendere la cosa il più difficile possibile per gli aggressori. Un hacker di successo non solo costa tempo e denaro per rimuovere gli script, ma può anche compromettere la vostra posizione nei motori di ricerca.

Forse avete già avuto esperienza con gli attacchi XSS? Cosa fate per proteggervi da loro?

Articoli correlati

Commenti su questo articolo

Scrivi un commento

Il tuo indirizzo mail non sarà pubblicato. I campi obbligatori sono contrassegnati con * marcato.