WordPress e Cross-Site Scripting (XSS)

Pubblicato: 2022-11-02

Gli attacchi di scripting tra siti sono uno dei tipi più comuni di attacchi ai siti Web visti su Internet. Capire cosa sono e come proteggerli è fondamentale per salvaguardare la sicurezza del tuo sito web, dei visitatori e della tua attività. Continua a leggere per saperne di più!

Cosa sono gli attacchi di scripting tra siti?

Un attacco Cross-Site Scripting (più comunemente denominato attacco XSS) si verifica quando un pezzo di codice dannoso (normalmente JavaScript) viene iniettato in una pagina Web con l'intenzione di danneggiare l'utente finale.

Questo codice viene tipicamente inserito alla fine dell'URI (Uniform Resource Identifier) ​​come parametro o utilizzando un'applicazione web su una pagina web, come un modulo di input dell'utente. Il codice dannoso sarà normalmente progettato per ignorare il controllo di accesso e manipolare la funzionalità del sito web.

Vulnerabilità di scripting tra siti

Come abbiamo visto, un attacco XSS è un attacco basato sul Web che utilizza codice dannoso per accedere a un sito Web vulnerabile e intraprendere attività dannose. La parola chiave in questa frase è 'vulnerabile'. Questo (purtroppo!) può significare molte, molte cose. Un sito Web WordPress che utilizza "admin" e "123456" come nome utente e password è vulnerabile, anche se sono state prese tutte le altre precauzioni di sicurezza. I siti Web WordPress che eseguono plug-in scaduti potrebbero essere considerati vulnerabili. O anche un'applicazione Web che include l'input dell'utente all'interno di un modulo e non convalida o codifica i valori inviati sarebbe considerata vulnerabile.

Gli hacker che implementano attacchi XSS sono costantemente alla ricerca di vulnerabilità che possono sfruttare. Quelli che si trovano più comunemente e quindi aprono più siti Web agli attacchi sono, comprensibilmente, preferiti, ma gli hacker cercheranno vulnerabilità più oscure per attaccare siti Web che considerano di grande valore per loro come hacker.

Ospita il tuo sito web con Pressidium

GARANZIA DI RIMBORSO DI 60 GIORNI

GUARDA I NOSTRI PIANI

Il fatto che ci siano così tante potenziali vulnerabilità e tutti i tipi di attacchi rende l'identificazione dei potenziali punti deboli e la mitigazione degli attacchi un compito difficile.

Siti web di destinazione

Un server o client di posta elettronica basato sul Web, un sistema CRM/ERP, una pagina del profilo pubblicamente disponibile (come quelle che si vedono comunemente sui siti di social media e sui gruppi di appartenenza) sono solo alcuni tipi di siti Web e applicazioni che rappresentano ottimi bersagli per gli attacchi XSS .

Altri siti in genere vulnerabili sono quelli in cui gli utenti possono pubblicare testo in formato HTML che altri possono visualizzare, ad esempio nei forum o nei campi dei commenti.

Tipi di scripting tra siti

Gli attacchi noti come cross-site scripting (XSS) possono essere suddivisi in tre tipi principali a seconda che il codice inserito venga eseguito sul server o esclusivamente nel browser della persona che tenta l'attacco. Questi sono i seguenti:

  • L'XSS persistente (o archiviato), in cui il codice iniettato dall'autore dell'attacco viene archiviato sul server in modo permanente.
  • L'XSS non persistente (o riflettente), in cui l'attacco viene effettuato tramite un URL creato che l'utente finale viene indotto a utilizzare.
  • Il DOM-based XSS (o client-side XSS) che, come tutte le altre tipologie, viene eseguito anche all'interno del browser del visitatore, con la differenza che altera il DOM del sito.

Impatto dello scripting tra siti XSS

L'impatto che qualsiasi attacco XSS può avere varia in base a una serie di fattori. Uno dei maggiori sarà la sensibilità dei dati che vengono archiviati e che sono presi di mira da un attacco. I commenti su un forum sulla cucina sono chiaramente meno sensibili dei segreti custoditi su un sito web del governo nazionale!

In genere, l'obiettivo di un attacco XSS è un individuo che utilizza un sito Web o un'applicazione. A seconda del tipo di attacco e dello script iniettato, l'attaccante potrebbe rubare i cookie di sessione della vittima e dati personali come le credenziali di accesso. Un attacco può anche tentare di rimuovere informazioni sensibili come i dati delle carte di credito (supponendo che siano presenti).

La cosa particolarmente orribile degli attacchi XSS è che sono effettivamente mascherati... quindi, l'utente preso di mira può apparire come l'individuo che potrebbe causare danni dannosi quando, molto probabilmente, non ha idea che qualcosa non va.

Chiaramente, l'impatto di questo può essere significativo su un'azienda. Qualsiasi hack che danneggi un sito Web e potenzialmente riveli informazioni sensibili è una cattiva notizia. Quanto grave dipenderà dalla gravità dell'attacco e dall'impatto sui tuoi clienti.

Proteggi il tuo sito WordPress dagli attacchi XSS

I siti Web WordPress subiscono la loro giusta quota di attacchi XSS. In parte, ciò è dovuto al gran numero di siti alimentati da WordPress (attualmente il 43,1% in tutto il mondo). È anche il risultato delle numerose vulnerabilità XSS che hanno molti plugin di WordPress. A sua volta, questo significa, statisticamente parlando, che più plug-in utilizzati su un sito Web WordPress, maggiori sono le possibilità di subire un attacco XSS.

Per questo motivo, generalmente tutto ciò di cui hai bisogno per ridurre al minimo la vulnerabilità XSS del tuo sito Web WordPress è convalidare e disinfettare qualsiasi variabile che potrebbe essere inclusa in un URL dall'attaccante. Ecco alcuni suggerimenti generici insieme ad altre soluzioni più specializzate che puoi applicare al tuo sito per proteggerlo.

Rimani aggiornato!

È estremamente cruciale per la sicurezza del tuo sito web per assicurarti di mantenere i tuoi file core, plugin e temi aggiornati all'ultima versione. In tal modo, riduci il rischio di tutte le forme di attacco al tuo sito Web, non ultimi gli attacchi XSS.

Per maggiori dettagli sui passaggi generali che puoi intraprendere per proteggere il tuo sito Web WordPress, assicurati di consultare il nostro articolo, Come proteggere il tuo sito Web WordPress.

Distribuisci il plug-in "Prevenzione vulnerabilità XSS".

Forse non sorprende (dato che questo è WordPress) è stato sviluppato un plug-in che può aiutare a ridurre il rischio di attacchi XSS. Si chiama "Prevenire la vulnerabilità XSS"

Scripting incrociato: previene il plug-in di vulnerabilità XSS

Una volta installato e attivato il plug-in, vai alla sua pagina delle impostazioni, sotto la voce di menu "Reflecked Cross-site scripting (XSS)" che apparirà.

Il plug-in Prevent XSS per impostazione predefinita configura un intervallo di entità che sono bloccate dall'URL. Questo aiuta a fermare gli attacchi nelle loro tracce. Oltre alle impostazioni predefinite, puoi specificare altre entità che desideri vengano bloccate dall'URL.

Lo stesso vale per le entità codificate dal plugin nell'URL. Puoi escludere le entità che non desideri siano codificate nell'area di testo fornita separandole con una virgola.

Protegge inoltre le vulnerabilità evadendo l'HTML nel parametro $_GET. Pertanto, se qualcuno tenta di inserire HTML nell'URL, non funzionerà.

È molto importante dopo aver installato il plug-in e aver finito di regolare le impostazioni che controlli almeno alcune pagine a caso per assicurarti che il tuo sito web funzioni come dovrebbe. Questo è particolarmente critico se stai usando WooCommerce. In questo caso, assicurati di eseguire l'intero processo di pagamento (incluso il pagamento) per assicurarti che funzioni.

Protezione dei dati di output

Fatta eccezione per la convalida dell'input quando viene ricevuto da un visitatore, dovresti anche codificare tutte le risposte HTTP che generano i dati. In pratica, questo significa che ogni carattere dovrebbe essere convertito nel suo nome di entità HTML.

Se sei uno sviluppatore di WordPress, c'è un ottimo manuale sull'evasione dei dati di output che vale la pena leggere.

Protezione dagli attacchi XSS con Pressidium

Se ospiti con Pressidium, godrai automaticamente della protezione del nostro Managed Web Application Firewall Layer che proteggerà il tuo sito Web in diversi modi, inclusi gli attacchi XSS. Ciò ti consente di concentrarti solo sulla tua attività senza preoccuparti del tuo sito web. Scopri di più sulle funzionalità della piattaforma Pressidium qui.