Tra le sigle che compaiono negli avvisi di sicurezza di WordPress, PrestaShop e dei loro plugin, due tornano di continuo: XSS e CSRF. Sembrano roba da programmatori, ma capire l’idea che c’è dietro ti aiuta a dare il giusto peso a un aggiornamento e a non sottovalutare un avviso. In questo articolo le spieghiamo in parole semplici, senza entrare nei dettagli tecnici di come si sfruttano: ci interessa capire il rischio e come ci si difende.

XSS: quando il sito mostra codice che non è suo

XSS sta per Cross-Site Scripting. Un sito moderno mostra continuamente testo che arriva da fuori: i commenti, le recensioni dei prodotti, il nome inserito in un modulo, le parole cercate nella barra di ricerca. Se il sito prende quel testo e lo rimette nella pagina senza controllarlo, qualcuno può infilarci dentro uno script invece di semplici parole. A quel punto il browser dei visitatori esegue quello script come se fosse parte del sito.

Il problema non è il server, ma chi visita la pagina. Uno script eseguito nel browser di un visitatore può, a seconda dei casi:

  • mostrare contenuti falsi o reindirizzare verso un altro sito;
  • leggere ciò che l’utente scrive nella pagina;
  • agire per conto dell’utente collegato, se quell’utente è un amministratore.

L’ultimo punto è quello che rende l’XSS pericoloso per un CMS: se lo script viene eseguito mentre un amministratore guarda la pagina (per esempio mentre modera i commenti), può sfruttare i suoi permessi.

Le due forme più comuni, in breve

Tipo Cosa succede Perché preoccupa
Memorizzato Il testo malevolo viene salvato nel database (un commento, una recensione, un campo del profilo) e mostrato a chiunque apra quella pagina Colpisce tutti i visitatori, a volte per molto tempo prima che qualcuno se ne accorga
Riflesso Il testo viaggia dentro un link costruito apposta e torna indietro nella pagina solo a chi clicca quel link Si combina con il phishing: il link sembra del tuo sito perché è davvero del tuo sito

CSRF: far fare all’utente qualcosa che non voleva

CSRF sta per Cross-Site Request Forgery, cioè «richiesta contraffatta da un altro sito». Qui il trucco è diverso. Quando sei collegato al pannello di amministrazione del tuo sito, il browser conserva la sessione: ogni richiesta che parte verso il tuo sito viene accettata come tua.

Se un’azione importante (cambiare l’email dell’amministratore, creare un utente, modificare un’impostazione) si può compiere con una semplice richiesta, una pagina esterna potrebbe far partire quella richiesta dal tuo browser mentre sei collegato. Tu vedi solo una pagina qualunque; nel frattempo il tuo sito riceve un ordine che sembra arrivare da te.

La difesa standard è che ogni azione importante richieda un codice monouso generato dal sito stesso (in WordPress si chiama nonce, in PrestaShop token): una pagina esterna non lo conosce, e la richiesta viene rifiutata. Quando un plugin ha una falla CSRF, di solito significa che uno sviluppatore ha dimenticato questo controllo su una certa funzione.

Cosa hanno in comune

XSS e CSRF hanno due caratteristiche che conviene tenere a mente:

  • Sono falle del codice del sito, quasi sempre di un plugin, di un tema o di un modulo. Non dipendono dalla password né dal server.
  • Spesso colpiscono attraverso un utente: per funzionare hanno bisogno che qualcuno, magari proprio tu, visiti una pagina o clicchi un link.

Per questo la difesa principale è doppia: codice aggiornato e un po’ di prudenza da parte di chi amministra il sito.

Come ti difendi

1. Aggiorna, soprattutto i plugin

La grande maggioranza delle falle XSS e CSRF viene scoperta e corretta dagli sviluppatori. Il rischio vero è restare sulla versione vecchia quando la correzione è già disponibile e la falla è già pubblica. Aggiorna regolarmente WordPress, PrestaShop, temi, plugin e moduli; se hai installato il CMS con Installatron, puoi attivare gli aggiornamenti automatici con un backup prima di ogni aggiornamento.

2. Togli quello che non usi

Un plugin disattivato ma ancora presente nei file del sito può essere comunque un punto debole. Se non ti serve, eliminalo. Meno codice hai, meno falle possibili.

3. Scegli componenti affidabili

Preferisci plugin e moduli scaricati dalle fonti ufficiali, aggiornati di recente e con uno sviluppatore che risponde. Un componente abbandonato da anni non riceverà più correzioni.

4. Attenzione ai link mentre sei collegato

Molti attacchi di questo tipo funzionano solo se l’amministratore è collegato. Qualche abitudine semplice aiuta:

  • esci dal pannello di amministrazione quando hai finito, invece di lasciarlo aperto per giorni;
  • non aprire link ricevuti per email o chat che puntano al pannello del tuo sito: entra sempre digitando l’indirizzo o dai tuoi segnalibri;
  • usa un browser aggiornato.

5. Modera i contenuti degli utenti

Commenti, recensioni e moduli di contatto sono i punti dove entra il testo esterno. Tenere attiva la moderazione dei commenti e limitare l’HTML consentito agli utenti riduce lo spazio di manovra.

Cosa facciamo noi

Sui nostri hosting il codice del tuo sito non è da solo:

  • Security Intelligence ferma, fra l’altro, chi prova a far eseguire script malevoli ai tuoi visitatori o a infilare comandi nei moduli del sito;
  • il firewall applicativo di cPGuard confronta le richieste con regole aggiornate di continuo e blocca quelle che cercano di sfruttare una falla;
  • con la gestione delle vulnerabilità, quando viene scoperta una falla in un software diffuso arriva una protezione mirata, che tiene il sito difeso mentre aspetti l’aggiornamento ufficiale.

Sono protezioni che bloccano il traffico malevolo. Non sostituiscono gli aggiornamenti: li affiancano, coprendo il tempo che passa fra la scoperta di una falla e il momento in cui aggiorni.

In sintesi

  • XSS: il sito mostra ai visitatori codice che non è suo, perché non controlla il testo che riceve.
  • CSRF: il sito esegue un’azione credendo che l’abbia chiesta tu, perché non verifica il codice monouso.
  • Difese: aggiornamenti, meno plugin, fonti affidabili, prudenza con i link mentre sei collegato.
  • Sul server, Security Intelligence e cPGuard filtrano i tentativi più comuni.

Hai ricevuto un avviso di sicurezza su un plugin e non sai quanto sia grave? Apri un ticket dall’area clienti: ti aiutiamo a capire se riguarda il tuo sito.

Altri articoli su Sicurezza e vulnerabilità

Parliamone

Un hosting che ti spiega le cose, e poi le fa

Questi articoli nascono dalle domande dei nostri clienti. Se vuoi un hosting dove dietro ogni risposta c’è un tecnico vero, parliamone.

  • 4,9 su 5 su Trustpilot264 recensioni, il 96% a cinque stelle
  • Risponde un tecnicoIn italiano, da chi gestisce i server
  • Il trasloco lo facciamo noiSito, database e posta, controllati prima di spostare i DNS