Iniezioni SQL: attacchi al cuore del tuo sito

Tobias Schüring Ultimo aggiornamento 15.01.2020
6 Min.
Iniezioni SQL

Oltre agli attacchi diBrute Force ci sono ancora e ancora WordPress Iniezioni SQL appaiono nella lista dei maggiori pericoli per i siti WordPress . Queste sono manipolazioni relativamente facili del database delle vostre pagine. Gli hacker possono entrare in possesso di dati sensibili o creare i propri account di amministratore e manipolare il tuo sito a piacimento. Mostriamo come funziona l'attacco e perché è così pericoloso.

Marzo 2008: gli hacker (tra cui un vero e proprio genio, tra l'altro) ottengono 134 milioni di dettagli di carte di credito dalla società americana Heartland Payment Systems. Metà 2016: Sospetti hacker russi hanno accesso al database degli elettori registrati dell' Illinois State Board of Elections. Una cosa simile accade in Arizona. Febbraio 2017: i dati di 65.000 account utente vengono rubati dal venditore di armi americano Airsoft GI. Marzo 2017: sospetti hacker cinesi ottengono i dati personali di 4.000 clienti di un'app coreana e inviano messaggi di testo, alcuni dei quali osceni, alle vittime.

Tutti questi attacchi hanno una cosa in comune: dietro c'è un hack relativamente facile da eseguire chiamato SQL injection. In questo attacco, gli hacker ottengono l'accesso al database e quindi a tutti i dati degli utenti su una pagina. In effetti, le iniezioni SQL sono quindi considerate uno dei maggiori pericoli per i gestori di siti web. Anche e soprattutto per i webmaster che lavorano principalmente con WordPress .

E siccome, al più tardi da WooCommerce , soprattutto i negozi più grandi e complessi possono essere gestiti senza problemi con WordPress , è importante capire il rischio di WordPress SQL Injection e come funziona.

Quanto sono "pericolose" le iniezioni SQL di WordPress ?

La questione della "pericolosità" di un WordPress hack non può essere risolta in termini di un singolo indicatore. Piuttosto, bisogna considerare almeno due aspetti: Da un lato, la probabilità con cui il proprio WordPress -WordPress -progetto può cadere vittima di un tale attacco, così come il danno che un hack può causare.

Con gli attacchiBrute Force , per esempio, il numero di attacchi al mese è così alto (in alcuni casi oltre 1 miliardo di attacchi misurati + numero stimato di casi non segnalati) che si può effettivamente dire che ogni WordPress -WordPress - progetto è prima o poi preso di mira da un tale attacco. I danni che possono essere causati da un hacking riuscito sono molteplici. Nella maggior parte dei casi, gli attacchi Brute Force servono anche per dirottare i siti web e integrarli in una botnet. Il cross-site scripting, d'altra parte, si verifica molto meno frequentemente, ma è utilizzato principalmente per infettare i siti web con codice dannoso.

L'organizzazione non-profit Open Web Application Security Project (OWASP) pubblica regolarmente una lista di top 10 dei maggiori rischi per la sicurezza delle applicazioni web. E le iniezioni SQL occupano costantemente il primo posto qui, anche nella lista(anche se preliminare) per il 2017.

Questo è un grafico della lista top 10 dei maggiori rischi per la sicurezza delle applicazioni web, pubblicata regolarmente dall'organizzazione non-profit OWASP. Le iniezioni SQL occupano il primo posto qui.
L'organizzazione non-profit OWASP pubblica regolarmente una lista top 10 dei maggiori rischi per la sicurezza delle applicazioni web. Le iniezioni SQL occupano regolarmente il primo posto qui.

Infatti, le iniezioni SQL sono qui per restare. L'hack è in circolazione da più di 15 anni. E secondo lo State of the Internet Security Report di Akamai per il 2017, la frequenza degli attacchi SQL è aumentata del 28% dal primo trimestre del 2016. Nel primo trimestre del 2017, le iniezioni SQL hanno rappresentato l'hack più comune, rappresentando il 44% degli attacchi. 

Questo illustra che nel primo trimestre del 2017, l'iniezione SQL è stato l'hack più comune, rappresentando il 44% degli attacchi.
Nel primo trimestre del 2017, l'iniezione SQL ha rappresentato l'hack più comune, con il 44% degli attacchi, secondo il 2017 State of the Internet Security Report di Akamai.

Wordfence, Produttore di un software di sicurezza per WordPress , arriva alla conclusione che le iniezioni SQL rappresentano un grande pericolo soprattutto per gli utenti di WordPress . Un'analisi di quasi 1.600 vulnerabilità di sicurezza in Plugins, che sono state segnalate in un periodo di 14 mesi, mostra chiaramente che le iniezioni SQL sono il secondo rischio di sicurezza più frequente di tutti per i siti WordPress .

Il grafico mostra chiaramente che le iniezioni SQL sono il secondo rischio di sicurezza più comune in assoluto per i siti WordPress .
Il grafico mostra che le iniezioni SQL sono il secondo rischio di sicurezza più comune in assoluto per i siti WordPress .

Con tutti questi numeri bisogna tenere a mente che il numero di casi non segnalati è molto più alto - gli attacchi SQL spesso non vengono nemmeno notati e non appaiono in nessuna statistica.

I numeri mostrano che WordPress SQL Injections dopo gli attacchiBrute Force e vulnerabilità XSS sono tra i tipi più comuni di attacchi. Inoltre, le iniezioni SQL prendono di mira una zona particolarmente sensibile del vostro sito: il vostro database. Soprattutto per i proprietari di negozi, questi hack sono una minaccia esistenziale. Pertanto, è importante capire come funzionano e cosa si può fare contro di loro.

WordPress Le iniezioni SQL prendono di mira il cuore del vostro sito: il database.

Per capire come funziona l'iniezione SQL, è necessario capire come WordPress è fondamentalmente costruito. Se lo sapete già, potete tranquillamente saltare questa sezione.

Il database è la base di ogni installazione di WordPress : tutto il contenuto è memorizzato qui. Il CMS stesso permette poi di visualizzare e modificare questo contenuto. WordPress è un database MySQL. SQL sta per Structured Query Language, un linguaggio di programmazione completo che può essere usato per creare strutture in un database e inserire, modificare e cancellare dati.

Ogni volta che scrivi un articolo, crei una nuova categoria, cambi la password o anche quando i tuoi utenti scrivono un commento, questi nuovi dati vengono memorizzati nel database. Quindi è qui che risiede ogni singolo contenuto del tuo sito web.

Ogni volta che un utente chiama la tua pagina e richiede un certo contenuto,WordPress estrae i dati appropriati dal database, li riunisce con PHP e crea un documento HTML che viene infine trasferito al browser dell'utente. L'utente non è consapevole di tutti i processi che avvengono fino a quel punto.

Le iniezioni SQL iniettano codice esterno nel database

Anche se non lavorate mai direttamente con il database, ma solo con il backend WordPress : il database è il cuore del vostro sito web.

Ma come ho detto: gli utenti sono anche in grado di inserire dati nel database. Scrivere un commento, creare un account utente, compilare e inviare un modulo di contatto - tutte queste azioni generano dati che vengono memorizzati nel database.

Ma cosa succede se qualcuno usa questo accesso indiretto al vostro database per introdurre di nascosto del codice maligno nel database? Questo è chiamato SQL injection.

L'idea di fondo non è nemmeno particolarmente complicata: Se non ci sono misure di sicurezza, l'hacker deve solo inserire il codice SQL in un campo del modulo (ad esempio quando si scrive un commento). Questo codice contiene caratteri che hanno una funzione speciale per l'interprete SQL, che è responsabile dell'esecuzione dei comandi SQL nel database. Questi caratteri speciali, chiamati metacaratteri, sono per esempio ; " ' e \.

Il CMS crede che questi siano dati innocui e passa l'input al database come al solito con l'ordine di salvarlo. L'interprete SQL riconosce il codice come una richiesta di azione basata sui metacaratteri ed esegue il comando del database.

Per inciso, lo stesso vale per le iniezioni SQL come per gli attacchi Brute Force: non è quasi mai il caso che un hacker si sieda da solo al computer e inserisca manualmente i codici nei moduli. Questi attacchi vengono effettuati anche tramite botnet automatizzate che scansionano migliaia di siti web simultaneamente alla ricerca di vulnerabilità e colpiscono dove ne scoprono una.

Cosa può succedere ora?

  • L'hacker bypassa qualsiasi meccanismo di autenticazione o si nasconde dietro l'identità di un utente esistente per ottenere l'accesso. Se un hacker crea un nuovo account di amministratore, per esempio, questo è anche indicato come un exploit di escalation dei privilegi.
  • In questo modo, può spiare, cambiare o cancellare i dati. Questo è particolarmente critico se gestite un negozio online e avete a disposizione i dati di pagamento dei vostri clienti.
  • Può prendere il controllo di tutto il tuo sito web e del tuo spazio web, per esempio, accedendo come amministratore e ottenendo l'accesso al tuo backend. In questo modo, un hacker ha il pieno controllo sul tuo sito e può abusarne come contrabbandiere di spam, iniettare codice maligno o inserirlo in una botnet.

Conclusione: specialmente a causa dell'automazione WordPress Le iniezioni SQL sono molto pericolose.

WordPress Le iniezioni SQL sono tra gli hack più pericolosi di tutti. Sono facili da eseguire, per lo più automatizzati e possono causare danni enormi: Soprattutto per i gestori di negozi, il pericolo delle iniezioni SQL è esistenziale.

Pertanto, è importante proteggere il tuo sito di conseguenza: L'input dell'utente deve essere controllato e pulito. Dovreste anche mascherare i dati per impedire l'esecuzione di codice maligno. Questo processo si chiama Data Sanitization and Validation ed è coperto in dettaglio nel WordPress Codex, per esempio. In uno dei prossimi articoli, tuttavia, andremo più in dettaglio su questo argomento e vi mostreremo come potete evitare che il codice maligno diventi attivo nel vostro database.

Fondamentalmente, la sicurezza completaPlugins aiuta anche qui: perché sono particolarmente capaci di bloccare gli attacchi automatici sulle vostre pagine, che sono la base di molti hack.

Articoli correlati

Commenti su questo articolo

Scrivi un commento

Il tuo indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati con *.