Vai al contenuto principale

SQL Injection: quando gli hacker attaccano il database

La SQL injection è una delle vulnerabilità più pericolose per un sito WordPress. Permette a un attaccante di leggere, modificare o cancellare i dati del tuo database senza bisogno di password.

Cos'è la SQL injection e perché riguarda il tuo WordPress

Il database è il cuore del tuo sito WordPress: contiene ogni articolo, ogni pagina, le impostazioni, gli utenti registrati e le loro password. La SQL injection è una tecnica che permette a un attaccante di "parlare direttamente" con questo database, aggirando tutte le protezioni normali.

In pratica, l'hacker inserisce comandi malevoli nei campi di input del sito — moduli di contatto, barre di ricerca, parametri URL — che vengono eseguiti dal database come se fossero istruzioni legittime. Il risultato: può leggere tutto il contenuto del database, creare nuovi utenti con privilegi di amministratore, modificare o cancellare dati.

WordPress stesso è abbastanza protetto dalla SQL injection, ma molti plugin e temi di terze parti non lo sono. È sufficiente un singolo campo non protetto in un plugin per esporre l'intero database.

#3
tra le vulnerabilità web più sfruttate al mondo
65%
causata da plugin non aggiornati
0sec
servono zero secondi per rubare dati con un exploit
GDPR
violazione dati = sanzioni fino al 4% del fatturato

Cosa può fare un hacker con una SQL injection

Rubare l'intero database

Email degli utenti, password (anche se cifrate), dati dei clienti WooCommerce, informazioni di pagamento. Tutto il contenuto del database diventa accessibile, con conseguenze gravi anche dal punto di vista GDPR.

Creare account amministratore

L'attaccante può inserire un nuovo utente admin direttamente nel database, senza passare dalla pagina di registrazione. Da lì, ha accesso completo al pannello di controllo del sito.

Modificare i contenuti

I testi delle pagine, i link, i prezzi dei prodotti WooCommerce: tutto risiede nel database e può essere alterato. Un attaccante può inserire redirect, link spam o codice malevolo direttamente nelle tabelle.

Cancellare tutto

Nei casi più estremi, l'attaccante può eliminare tutte le tabelle del database, rendendo il sito completamente irrecuperabile se non esiste un backup recente.

Come proteggiamo il tuo database WordPress

Nel nostro intervento di hardening implementiamo protezioni a più livelli che rendono la SQL injection praticamente impossibile.

  • Web Application Firewall (WAF) — Filtra tutto il traffico in entrata e blocca automaticamente i tentativi di SQL injection prima che raggiungano il database.
  • Audit dei plugin installati — Verifichiamo che ogni plugin e tema utilizzi query parametrizzate (prepared statements) e non sia vulnerabile a injection.
  • Cambio del prefisso tabelle — Modifichiamo il prefisso standard wp_ delle tabelle con uno personalizzato, rendendo più difficile per gli attaccanti indovinare la struttura del database.
  • Privilegi minimi del database — Configuriamo l'utente MySQL con i soli permessi necessari, limitando i danni anche in caso di compromissione.

Preoccupato per la sicurezza del tuo database?

Verifichiamo gratuitamente se il tuo WordPress è vulnerabile alla SQL injection. Contattaci per un'analisi.