WordPress è una notevole storia di successo open source. In vent'anni è passato da strumento per blog personali a piattaforma che alimenta oltre il 43% di tutti i siti web del mondo. Ma questa massiccia adozione è diventata un'arma a doppio taglio per le aziende — e un problema di sicurezza che non può semplicemente essere ignorato.
I numeri sulla sicurezza che parlano da soli
Il database WPScan traccia oltre 57.000 vulnerabilità documentate in plugin, temi e core di WordPress. In media, vengono pubblicati 50–70 nuovi CVE ogni settimana. Il rapporto annuale di Sucuri sui siti compromessi rileva che il 96% di tutti i CMS infettati è WordPress. La domanda non è più "il mio sito sarà preso di mira?" — ma "quando, e attraverso quale vettore?"
Come si svolge un attacco nella pratica
Gli attaccanti non si affidano solo alla forza bruta. Lavorano in modo sistematico con strumenti automatizzati:
- Fingerprinting — Uno scanner automatico identifica la versione di WordPress, i plugin installati e le loro versioni. File come
readme.txt,wp-includes/version.phpe gli header HTTP sono pubblicamente accessibili. - CVE matching — Lo scanner confronta le versioni rilevate con un database di vulnerabilità. Se trova un CVE noto, passa immediatamente all'exploit.
- Sfruttamento — Vettori comuni: SQL injection in un plugin, upload non autenticato di file, XSS che porta al furto di cookie di sessione, brute-forcing su
/wp-login.phpe sull'endpoint XML-RPC. - Persistenza — L'attaccante carica una webshell, crea un account amministratore backdoorato o inserisce un payload cifrato nel database (
wp_options) che si attiva ad ogni caricamento della pagina.
L'intero processo — dalla scansione iniziale alla compromissione completa — richiede in media meno di 4 ore dalla divulgazione pubblica di un CVE. La maggior parte degli operatori aggiorna i plugin manualmente e in modo irregolare.
Plugin: la superficie d'attacco più grande
Il core di WordPress è oggi ragionevolmente ben mantenuto. Il vero problema è l'ecosistema di plugin:
- Oltre 60.000 plugin nel repository ufficiale, più migliaia di quelli commerciali.
- I plugin sono scritti da sviluppatori con livelli molto diversi di consapevolezza della sicurezza.
- L'installazione WordPress media utilizza 22 plugin attivi.
- Ogni plugin aggiunge codice di terze parti con accesso diretto al database, al filesystem e alle richieste HTTP.
- Un plugin può essere venduto a un nuovo proprietario in qualsiasi momento. Nel 2021, il popolare plugin AccessPress Themes è stato deliberatamente backdoorato dopo l'acquisizione, compromettendo oltre 360.000 siti.
XML-RPC e /wp-login.php: porte sempre aperte
/wp-login.php— La pagina di login, accessibile senza alcuna protezione per impostazione predefinita.xmlrpc.php— Progettato originariamente per la pubblicazione remota, oggi usato principalmente per il brute-forcing delle credenziali (una singola chiamata HTTP può testare centinaia di password contemporaneamente tramite multicall) e come vettore DDoS.
Prestazioni: numeri concreti
Un caricamento tipico di una pagina WordPress attiva 15–80 query al database e carica decine di file PHP solo dal core. Dati da progetti reali:
- Sito WordPress medio: punteggio Google PageSpeed 45–65 senza caching aggressivo.
- Stesso contenuto su un'applicazione personalizzata: 90–98 senza sforzi particolari.
- Time to First Byte (TTFB): WordPress tipicamente 600–1.200 ms, applicazione PHP personalizzata 80–200 ms.
Vendor Lock-In: la trappola dei plugin
Le funzionalità che WordPress non offre nativamente vengono coperte da plugin in abbonamento:
- WooCommerce + estensioni essenziali: $150–500/anno
- Form builder avanzati: $160–260/anno
- Plugin per membership: $150–300/anno
- Backup e sicurezza: $100–200/anno
Smetti di pagare? Perdi gli aggiornamenti e gestisci software vulnerabile. Passi a un altro plugin? Migrazione dei dati e riconfigurazione costano ore o giorni. Il codice personalizzato è un investimento una tantum — e ti appartiene per sempre.
Quando WordPress ha senso
WordPress ha il suo posto. Ha perfettamente senso per un blog aziendale senza dati sensibili, un semplice catalogo prodotti con aggiornamenti poco frequenti o un progetto con budget limitato. Ma nel momento in cui il sito elabora dati personali dei clienti, pagamenti, documenti aziendali o autenticazioni sensibili — stai scegliendo consapevolmente il CMS più attaccato al mondo come custode di quei dati.
Cosa offre lo sviluppo personalizzato
Un'applicazione personalizzata non è automaticamente sicura solo perché non è WordPress. La sicurezza è il risultato di scelte deliberate. Ogni applicazione DubNet CZ include:
- PDO prepared statements — nessun SQL inline; SQL injection eliminata a livello architetturale.
- Token CSRF su tutti i form che modificano lo stato.
- Rate limiting del login per IP con backoff esponenziale.
- Header Content Security Policy (CSP) che limitano le sorgenti permesse di script e stili.
- HSTS per HTTPS forzato e protezione contro SSL stripping.
- Audit log per tutti i login, le modifiche ai dati e le azioni amministrative.
- Privilegi minimi sul database — l'utente DB dell'applicazione non ha diritti CREATE/DROP.
- 2FA per tutti gli accessi amministrativi.
Conclusione: la decisione ha un costo
WordPress è uno strumento legittimo usato nel contesto giusto. Per un'applicazione aziendale che gestisce dati dei clienti, pagamenti o informazioni sensibili, introduce un rischio di sicurezza sistemico che non può essere eliminato completamente — solo gestito, al costo di tempo e denaro continuativi.
Lo sviluppo personalizzato costa di più all'inizio. Nel corso di 2–3 anni, il costo totale diventa comparabile. E per tutto quel tempo, gestisci un sistema di cui conosci ogni riga di codice, la cui superficie d'attacco è minima e la cui sicurezza non dipende dalle decisioni di sviluppatori anonimi di plugin di terze parti.
Vuoi sapere come sarebbe una soluzione personalizzata per il tuo caso? Contattami — la consulenza iniziale è gratuita.