Scripting tra siti: una guida per gli utenti di WordPress

Pubblicato: 2021-04-21

Se sei preoccupato per lo scripting tra siti e per il modo in cui influisce sul tuo sito Web WordPress, non sei assolutamente paranoico. Sebbene la vulnerabilità dello scripting tra siti (noto anche come XSS), non sia esclusiva dei proprietari di siti WordPress, i suoi potenziali impatti negativi sui siti WordPress sono incredibilmente importanti da comprendere.

In questa guida, analizzeremo le vulnerabilità di cross-site scripting (XSS) che devi tenere d'occhio. Alcuni di questi diventeranno un po' tecnici, ma alla fine della guida sarai in grado di prendere una decisione informata sulla sicurezza complessiva del tuo sito WordPress in relazione allo scripting tra siti. Inoltre, saprai esattamente cosa fare per evitare un attacco.

Ora, tuffiamoci.

In questa guida

    Che cos'è lo scripting tra siti (XSS)?

    Lo scripting cross-site (XSS) è un tipo di attacco malware che viene eseguito sfruttando le vulnerabilità cross-site su qualsiasi sito WordPress. In effetti, è il modo più comune per hackerare i siti WordPress perché ci sono così tanti plugin WordPress che hanno vulnerabilità XSS.

    Spiegazione degli script tra siti

    Che cos'è lo scripting cross-site in termini ancora più tecnici?

    Le vulnerabilità di scripting tra siti consentono l'esecuzione di codice JavaScript esterno su un sito Web. Questo può essere molto difficile da catturare per i proprietari di siti WordPress perché gli attacchi che sfruttano la vulnerabilità possono essere di diversi tipi.

    Questo è ancora più vero se stai eseguendo un sito WordPress molto grande o complesso con molti plugin che funzionano all'unisono.

    I diversi tipi di attacchi XSS possono essere riassunti in due categorie distinte:

    • Script dannoso che viene eseguito nel browser sul lato client
    • Script dannoso che viene archiviato ed eseguito sul tuo server, quindi fornito da un browser

    In entrambi i casi, l'hack utilizza un attacco di scripting cross-site per manipolare il modo in cui funziona il tuo sito o persino rubare dati critici del sito.

    Cosa rende gli attacchi XSS comuni per i siti Web WordPress?

    Come utente di WordPress, potresti già sapere quanto siano complessi alcuni plugin di WordPress. In effetti, alcuni plugin che stai utilizzando sono persino più complessi del core di WordPress stesso.

    Sfortunatamente, più il plugin WordPress è complesso, maggiore è la possibilità che tu debba affrontare problemi di sicurezza. Gli autori dei plugin sanno quanto sia difficile proteggersi dagli attacchi XSS e rende davvero il loro lavoro una vera sfida.

    Alcuni dei colossi tecnologici più stimati, come Facebook, Apple e Google, hanno subito attacchi XSS in passato. In effetti, impiegano interi team di sicurezza dedicati per ridurre al minimo i rischi di questi attacchi.

    Ciò dovrebbe aiutare a mettere le cose in una prospettiva più ampia sulla facilità con cui un attacco può intrufolarsi in un plug-in di WordPress, con molte meno risorse di sicurezza rispetto ai giganti della tecnologia.

    Probabilmente ti starai chiedendo quanto sia vulnerabile il tuo sito agli attacchi di scripting tra siti.

    Innanzitutto, è importante notare che se mantieni tutti i tuoi temi e plug-in completamente aggiornati, hai già ridotto significativamente il rischio. Tuttavia, non esiste un modo garantito per proteggersi completamente da un attacco XSS.

    La maggior parte dei siti WordPress presenta vulnerabilità non pubbliche che gli hacker possono sfruttare. Per questo motivo, scansioni regolari del tuo sito sono di vitale importanza. Più su quello più tardi.

    scripting cross-site WordPress

    Mentre il danno che gli hacker possono fare con un attacco di scripting cross-site dipende dai dettagli esatti del loro obiettivo finale, nei casi peggiori l'intero sito può essere rilevato.

    In altri casi, gli hacker apporteranno piccole modifiche a un sito Web o addirittura reindirizzeranno un sito a un sito dannoso che hanno creato.

    Per dirla in altro modo, gli hacker che sfruttano le vulnerabilità di scripting cross-site di WordPress sanno come:

    • Dirotta le sessioni dei tuoi utenti rilevando gli ID di sessione
    • Posiziona reindirizzamenti e popup che non hai autorizzato
    • Punta di diamante degli attacchi di phishing
    • Registra ogni sequenza di tasti della loro vittima installando keylogger
    • Ruba le tue informazioni finanziarie o le informazioni finanziarie di un utente del sito

    Quali sono i tipi di script tra siti?

    Non tutti gli attacchi XSS sono ugualmente pericolosi. In effetti, alcuni sono molto più pericolosi di altri.

    In alcuni attacchi, gli hacker avranno pieno accesso al tuo sito WordPress. A quel punto, possono praticamente fare tutto ciò che vogliono.

    In altri casi, l'attacco consentirà a un hacker di modificare una parte del tuo sito. Sebbene non sia pericoloso come un hack XSS completo, questo può anche essere molto pericoloso perché servirà malware a tutti i tuoi visitatori.

    Diversi attacchi di scripting tra siti richiedono che un hacker sia un membro del sito che contribuisce. In casi come questi, il pericolo rappresentato è notevolmente inferiore.

    Come funziona lo scripting cross-site?

    Gli hacker esperti trovano le vulnerabilità del sito utilizzando strumenti automatizzati. Dopo aver scoperto le vulnerabilità, diventa una semplice questione di eseguire l'hack desiderato.

    Sfortunatamente, l'intero processo di hacking può essere eseguito da bot.

    Esistono cinque modi diversi in cui gli hacker utilizzano XSS per raggiungere i propri obiettivi.

    1. Dirottare una sessione utente

    Un attacco XSS può aiutare gli hacker ad accedere ai cookie. L'aspetto più pericoloso di questo è che questo tipo di attacco ha rivelato l'ID di sessione di un utente.

    La maggior parte dei siti Web utilizza sessioni per ciascun utente del sito per impostare un identificatore univoco. Le sessioni vengono quindi memorizzate all'interno dei cookie di sessione utilizzando uno script.

    Gli hacker sono in grado di inviare un cookie di sessione al sito specifico, ad esempio http://198.178.260.468/ e la richiesta viene registrata nel file access.log del server.

    Quando l'hacker utilizza le informazioni sulla sessione, può accedere a qualsiasi account a cui hai effettuato l'accesso senza la necessità di una password.

    2. Esecuzione di attività non autorizzate

    In alcuni casi, gli hacker non sono in grado di utilizzare JavaScript per rubare il cookie desiderato. In questi casi, cercheranno di utilizzare attacchi XSS per eseguire attività non autorizzate.

    Ad esempio, possono attivare uno script che fa apparire un messaggio nella sezione dei commenti e continua a essere pubblicato ripetutamente.

    Questo tipo di attacco con script incrociati assume in genere la forma di uno script dannoso che si diffonde come un virus agli utenti. Può anche essere usato per deturpare il tuo sito.

    3. Attacchi di phishing

    Spesso, le vulnerabilità di scripting cross-site di WordPress portano gli hacker in uno schema molto più ampio di un semplice attacco XSS.

    Gli script tra siti possono portare ad attacchi di phishing sul tuo sito.

    In genere, uno script dannoso inizia a inviare una truffa di phishing sul tuo sito WordPress che indurrà gli utenti a fornire informazioni altamente sensibili.

    Questo è un attacco molto pericoloso.

    4. Installazione del keylogger

    Questo tipo di attacco coinvolge un hacker che implementa uno script che installerà un keylogger su un sito WordPress vulnerabile.

    Ogni volta che l'utente digita qualcosa, questo keylogger memorizza le informazioni e le trasmette all'hacker. È un modo semplice e veloce per rubare informazioni su carte di credito, password, informazioni mediche e molto altro.

    5. Furto di informazioni sensibili

    Abbiamo discusso dei cookie e di come vengono rubati. Ma questo particolare attacco porta questo principio a un livello diverso.

    Immagina uno scenario in cui la pagina "internet banking" della tua cooperativa di credito è sotto un attacco XSS. Se un hacker utilizza uno script particolare, potrebbe accedere direttamente al tuo conto corrente senza convalida.

    Sebbene questo non sia un concetto nuovo, è un'estensione di ciò che gli hacker sono in grado di eseguire utilizzando i cookie di sessione.

    Come posso proteggere il mio sito WordPress da attacchi di scripting cross-site?

    Il vero problema è che gli hacker professionisti continuano a inventare varianti più sagge di testo dannoso che ora possono aggirare anche la migliore prevenzione di scripting cross-site.

    È davvero una sorta di gioco del gatto e del topo.

    Il modo migliore per rilevare gli attacchi XSS è utilizzare un plug-in come iThemes Security Pro iThemes Security Pro ha diverse funzionalità di sicurezza del sito Web per costruire la tua prima linea di difesa contro gli attacchi di scripting tra siti. (di più su questo tra un po').

    È anche incredibilmente importante accoppiare la tua difesa con un plug-in di backup di WordPress come BackupBudy che può ripristinare un punto precedente nella cronologia del tuo sito, se dovesse accadere il peggio.

    Ovviamente, in un mondo perfetto, hack come questo non accadrebbero mai. Ma gli attacchi XSS sono incredibilmente difficili da proteggere, il che rende la sicurezza rafforzata di WordPress la tua massima priorità.

    Come funzionano gli attacchi XSS

    Il modo in cui funziona un attacco dipende dal tipo di attacco lanciato dall'hacker. E sebbene esistano diversi tipi di script tra siti, tutti utilizzano JavaScript per diffondere malware dannoso.

    Se non hai familiarità con JavaScript, è un linguaggio che si trova tra il codice HTML del tuo sito web. È in grado di creare variabili specifiche che eseguono calcoli robusti.

    In verità, uno sviluppatore può utilizzare JavaScript per eseguire quasi tutte le funzioni immaginabili.

    Ad esempio, un sito WooCommerce che accetta pagamenti e li memorizza in un database può utilizzare JavaScript per inviare informazioni di accesso e dettagli di pagamento a una persona diversa.

    Quando gli hacker sfruttano questa vulnerabilità nel codice del tuo sito per eseguire JavaScript, si tratta di un attacco XSS a tutto campo. Questo tipo di vulnerabilità si verifica in genere quasi ovunque sul tuo sito Web in cui gli utenti inseriscono dati, anche sotto forma di:

    • Popup
    • Moduli informativi
    • Barre di ricerca
    • URL

    Tieni presente che il campo di inserimento dati non deve necessariamente essere visivo. In alcuni casi, può essere una variabile difettosa all'interno del codice del tuo sito che richiama dati non sanificati da un database o da qualsiasi altro file.

    Attacchi XSS persistenti o memorizzati

    Supponiamo per un momento che il tuo sito sia un blog con una sezione commenti aperta. Se uno dei tuoi utenti lascia un commento per te, i dati vengono spediti al database e archiviati.

    È importante che il tuo sito sia configurato per disinfettare i dati prima di essere archiviati nel database. In altre parole, dovrebbe verificare se l'utente ha inserito un commento legittimo o se si tratta di uno script dannoso.

    Senza questo controllo, può aprire un difetto XSS in WordPress.

    È così che funziona:

    1. L'hacker individua e sfrutta la vulnerabilità

    Gli hacker utilizzano scanner che effettuano ricerche in Internet e individuano i siti che presentano vulnerabilità agli attacchi di scripting tra siti. Una volta trovato un sito, gli script dannosi vengono inseriti nella sezione dei commenti del sito.

    Senza alcun controllo in atto, il tuo sito prende lo script dannoso e lo invia al database.

    2. I visitatori visualizzano la tua pagina infetta

    Per un visitatore medio del sito, i dati di un hacker sembrano un commento standard. Quello che questo visitatore non sa è che un semplice commento è un codice eseguibile che ruberà i cookie.

    Chiunque visiti la pagina subirà un impatto negativo.

    3. Furto di cookie del browser

    La maggior parte degli utenti in genere ha sempre diverse schede aperte sul proprio browser, per cose come social media, e-mail, Amazon, YouTube e il sito Web del proprio datore di lavoro.

    Quando un utente visita un sito infetto e visualizza la pagina che contiene il commento di un hacker, il codice viene eseguito immediatamente e consente a un hacker di rubare i cookie del browser.

    L'attacco è chiamato attacco cross-site perché è in grado di rubare i cookie da ogni sito Web aperto su qualsiasi scheda.

    4. Sfruttare i cookie rubati

    Utilizzando i cookie rubati, un hacker si spaccia per utente del sito autenticato, ad esempio, sui siti di shopping per effettuare acquisti illegali.

    Gli aggressori sono anche in grado di rubare informazioni sull'account, come password e nomi utente, e hackerare le e-mail per inviare e-mail di phishing a un intero elenco di contatti.

    Le possibilità dannose sono apparentemente infinite.

    Attacchi XSS non persistenti o riflessivi

    Questo non è un attacco ai visitatori del sito, ma un attacco al sito web.

    Se sei il proprietario di un sito WordPress, probabilmente hai molte schede del browser aperte.

    Spesso, la dashboard di amministrazione di WordPress è solo una delle tante schede diverse che normalmente lasci aperte. E questo è esattamente ciò che rende possibili gli attacchi XSS riflessivi.

    Ecco come succede:

    1. Il proprietario del sito è attratto da un collegamento dannoso

    In alcuni casi, un hacker invierà un collegamento dannoso alla tua e-mail nella speranza che tu cada nel loro piccolo trucco.

    In altri casi, gli hacker inseriranno collegamenti dannosi su altri siti.

    Se fai clic su uno di questi collegamenti, uno script viene caricato sul tuo sito WordPress da un sito esterno.

    2. Acquisizione dei cookie di sessione

    Quando fai clic sul collegamento dannoso, esegui il codice che hanno utilizzato. Ciò consentirà all'hacker di rubare i tuoi cookie e accedere all'account amministratore del tuo sito Web WordPress.

    Dopo aver ottenuto l'accesso amministrativo completo al sito, potrebbero facilmente rubare dati sensibili e credenziali di accesso. Potrebbero persino bloccarti fuori dal tuo sito o usarlo per eseguire un numero qualsiasi di hack diversi.

    La cosa spaventosa è che saranno fatti nel tuo nome.

    Un attacco XSS eseguito correttamente avrà gravi conseguenze per la tua attività e il tuo sito web e potrebbe danneggiare irreparabilmente la tua credibilità. Recuperare da questi attacchi può richiedere molto tempo prezioso e denaro sudato.

    Ecco perché è così importante prendere ogni possibile precauzione contro di essa.

    Prevenzione dello scripting cross-site di WordPress: 5 passaggi

    Non c'è un modo semplice per dirlo, ma non esiste un piano infallibile per evitare il crimine informatico. La cosa migliore da fare è disporre di un piano solido per i controlli di sicurezza di routine di WordPress. Il primo passo per evitare gli attacchi XSS è iniziare subito a prepararsi con questi passaggi.

    1. Scarica e installa il plug-in iThemes Security Pro

    Per iniziare a proteggere e proteggere il tuo sito, scarica e installa il plug-in iThemes Security Pro.

    Ottieni iThemes Security Pro ora

    2. Proteggi i tuoi utenti dal dirottamento della sessione

    In poche parole: dovresti avere una protezione contro il dirottamento della sessione in atto per i tuoi amministratori ed editori sul tuo sito Web WordPress.

    Come mai? Come accennato in precedenza, ordPress genera un cookie di sessione ogni volta che accedi al tuo sito web. E supponiamo che tu abbia un'estensione del browser che è stata abbandonata dallo sviluppatore e non rilascia più aggiornamenti di sicurezza. Sfortunatamente per te, l'estensione del browser trascurata ha una vulnerabilità. La vulnerabilità consente ai malintenzionati di dirottare i cookie del browser, incluso il cookie di sessione di WordPress menzionato in precedenza. Ancora una volta, questo tipo di hack è noto come Session Hijacking . Quindi, un utente malintenzionato può sfruttare la vulnerabilità dell'estensione per eseguire il piggyback del tuo accesso e iniziare a apportare modifiche dannose con il tuo utente WordPress.

    La funzione Dispositivi attendibili di iThemes Security Pro rende il dirottamento di sessione un ricordo del passato. Se il dispositivo di un utente cambia durante una sessione, iThemes Security disconnetterà automaticamente l'utente per impedire qualsiasi attività non autorizzata sull'account dell'utente, come la modifica dell'indirizzo e-mail dell'utente o il caricamento di plug-in dannosi.

    La funzione Dispositivi attendibili in iThemes Security Pro funziona per identificare i dispositivi che tu e altri utenti utilizzate per accedere al tuo sito WordPress. Dopo che i tuoi dispositivi sono stati identificati, possiamo impedire ai dirottatori di sessione e ad altri malintenzionati di danneggiare il tuo sito web.

    Quando un utente ha effettuato l'accesso su un dispositivo non riconosciuto, Trusted Devices può limitare le proprie capacità a livello di amministratore. Ciò significa che se un utente malintenzionato fosse in grado di entrare nel backend del tuo sito WordPress, non avrebbe la possibilità di apportare modifiche dannose al tuo sito web.

    In questo scenario, riceverai un'e-mail che ti informa che qualcuno ha effettuato l'accesso al tuo sito da un dispositivo non riconosciuto. L'e-mail include un'opzione per bloccare il dispositivo dell'hacker. Quindi puoi semplicemente ridere e ridere, sapendo che hai rovinato la giornata di un cattivo.

    Un altro vantaggio di Trusted Devices è che rende il dirottamento di sessione un ricordo del passato. Se il dispositivo di un utente cambia durante una sessione, iThemes Security disconnetterà automaticamente l'utente per impedire qualsiasi attività non autorizzata sull'account dell'utente, come la modifica dell'indirizzo e-mail dell'utente o il caricamento di plug-in dannosi.

    Per iniziare a utilizzare i dispositivi attendibili, abilitali nella pagina principale delle impostazioni di sicurezza, quindi fai clic sul pulsante Configura impostazioni .

    Nelle impostazioni Dispositivi attendibili, decidi quali utenti desideri utilizzare la funzione, quindi abilita le funzionalità Limita funzionalità e Protezione dal dirottamento della sessione .

    Dopo aver abilitato la nuova impostazione Trusted Devices, gli utenti riceveranno una notifica nella barra di amministrazione di WordPress sui dispositivi non riconosciuti in sospeso. Se il tuo dispositivo attuale non è stato aggiunto all'elenco dei dispositivi attendibili, fai clic sul collegamento Conferma questo dispositivo per inviare l'e-mail di autorizzazione.

    Fare clic sul pulsante Conferma dispositivo nell'e-mail di accesso non riconosciuto per aggiungere i dispositivi attuali all'elenco dei dispositivi attendibili.

    Una volta che Trusted Devices è abilitato, gli utenti possono gestire i dispositivi dalla loro pagina del profilo utente di WordPress. Da questa schermata, puoi approvare o negare i dispositivi dall'elenco Dispositivi attendibili.

    Inoltre, hai la possibilità di registrarti per alcune API di terze parti per migliorare l'accuratezza dell'identificazione dei dispositivi attendibili e utilizzare mappe di immagini statiche per visualizzare la posizione approssimativa di un accesso non riconosciuto. Controlla l'impostazione Dispositivi attendibili per vedere quali integrazioni sono disponibili,

    3. Attiva la gestione delle versioni per mantenere aggiornati i tuoi temi e plugin

    È difficile tenere traccia di ogni vulnerabilità di WordPress divulgata: teniamo traccia e le condividiamo nelle nostre raccolte di vulnerabilità di WordPress e confrontiamo tale elenco con le versioni di plugin e temi che hai installato sul tuo sito web. Tuttavia, questo non impedisce agli hacker di WordPress di prendere di mira plugin e temi con vulnerabilità note. Avere software con vulnerabilità note installato sul tuo sito offre agli hacker i progetti di cui hanno bisogno per prendere il controllo del tuo sito web.

    La funzione Gestione versione in iThemes Security Pro ti consente di aggiornare automaticamente WordPress, plugin e temi. Oltre a ciò, Gestione versioni ha anche opzioni per rafforzare il tuo sito Web quando esegui software obsoleto e scansiona vecchi siti Web.

    Per iniziare a utilizzare Gestione versioni, abilita il modulo nella pagina principale delle impostazioni di sicurezza.

    Ora fai clic sul pulsante Configura impostazioni per dare un'occhiata più da vicino alle impostazioni.

    4. Attiva iThemes Security Site Scan

    IThemes Security Pro Site Scan controlla il tuo sito web per le vulnerabilità note di WordPress, plugin e temi e applica una patch quando è disponibile.

    Per abilitare la scansione del sito su nuove installazioni, vai alle impostazioni di iThemes Security Pro e fai clic sul pulsante Abilita nel modulo delle impostazioni della scansione del sito .

    Per attivare una scansione manuale del sito, fare clic sul pulsante Scansiona ora sul widget Scansione sito situato nella barra laterale destra delle impostazioni di sicurezza.

    I risultati della scansione del sito verranno visualizzati nel widget.

    Se la scansione del sito rileva una vulnerabilità, fare clic sul collegamento della vulnerabilità per visualizzare la pagina dei dettagli.

    Nella pagina della vulnerabilità di Site Scan, vedrai se è disponibile una correzione per la vulnerabilità. Se è disponibile una patch, puoi fare clic sul pulsante Aggiorna plug-in per applicare la correzione sul tuo sito web.

    Potrebbe esserci un ritardo tra la disponibilità di una patch e l'aggiornamento del database delle vulnerabilità della sicurezza di iThemes per riflettere la correzione. In questo caso, puoi disattivare la notifica per non ricevere più avvisi relativi alla vulnerabilità.

    Importante: non dovresti disattivare l'audio di una notifica di vulnerabilità finché non hai confermato che la tua versione corrente include una correzione di sicurezza o la vulnerabilità non interessa il tuo sito.

    5. Attiva il rilevamento delle modifiche ai file

    Per iniziare a monitorare le modifiche ai file, abilitare Rilevamento modifiche file nella pagina principale delle impostazioni di sicurezza.

    Impostazioni di rilevamento delle modifiche ai file di sicurezza di WordPress

    Una volta abilitato il rilevamento delle modifiche ai file, iThemes Security Pro inizierà la scansione di tutti i file del tuo sito Web in blocchi . La scansione dei file in blocchi aiuterà a ridurre le risorse necessarie per monitorare le modifiche ai file.

    La scansione iniziale della modifica dei file creerà un indice dei file del tuo sito Web e dei relativi hash dei file. Un hash di file è una versione abbreviata e non leggibile del contenuto del file.

    Al termine della scansione iniziale, iThemes Security Pro continuerà a scansionare il file in blocchi. Se l'hash di un file cambia in una delle scansioni successive, significa che il contenuto del file è cambiato.

    Puoi anche eseguire una modifica manuale dei file facendo clic sul pulsante Scansiona file ora nelle impostazioni Rilevamento modifica file

    Pulsante di scansione di sicurezza di WordPress per modifiche ai file

    Conclusioni: scripting cross-site e protezione del tuo sito WordPress

    Speriamo che questa guida ti abbia aiutato a comprendere il rischio di scripting cross-site sul tuo sito WordPress. Implementando alcune best practice per la sicurezza di WordPress, insieme ai 5 passaggi precedenti, avrai una migliore linea di difesa.

    Ottieni il contenuto bonus: una guida alla sicurezza di WordPress
    Scarica la guida

    scripting cross-site WordPress