Come trovare SQL Injections a WordPress

April 21

Come trovare SQL Injections a WordPress


Con un solo piccolo errore nel codice di un tema WordPress o di plug-in, un hacker può ottenere l'accesso al tuo sito web e deturpare esso, rubare informazioni sugli utenti o addirittura eliminare il contenuto dal tuo sito web. Gli hacker sono di maggior successo con i siti WordPress utilizzando un metodo chiamato SQL injection, dove i trucchi degli hacker il programma di WordPress in esecuzione di comandi sul server di database nel suo nativo linguaggio di interrogazione strutturato. Tutti gli attacchi SQL injection possono essere prevenuti con una tecnica di programmazione che è costruito per WordPress.

WordPress: Obiettivo di un hacker

poteri WordPress uno su sei siti web su Internet. Un motivo principale per la sua popolarità è la possibilità di personalizzare con facilità la progettazione e estendere le funzionalità di un sito web WordPress utilizzando temi e plugin sviluppate dalla comunità. L'immensa popolarità di WordPress rende un obiettivo automatico per gli hacker. Ciò che lo rende ancora più attraente è il potenziale che i temi e plugin sviluppati da programmatori meno esperti potranno fare un sito web facile da incidere, e che coloro che ospitano i propri siti web WordPress - circa la metà di tutti i siti web WordPress - ha vinto ' t hanno un'adeguata sicurezza sui propri server Web per proteggere contro gli hacker.

Attacchi SQL injection

Il modo più comune di un sito web WordPress è violato è quello di utilizzare SQL injection, anche se è del tutto evitabile. Con l'iniezione SQL, un hacker trucchi il sistema in esecuzione comandi SQL sul database di WordPress da loro fissaggio ai dati di input dell'utente. I programmatori di creare SQL rischi di iniezione di scrittura di codice che accetta input da un utente e passa che l'input testualmente al database in un comando SQL. Il rischio può essere eliminato utilizzando la funzione di "preparare" in WordPress ogni volta che si mescolano comandi di database SQL con l'input dell'utente.

Rilevamento automatico delle vulnerabilità

È possibile utilizzare un software che mette alla prova il vostro sito WordPress per le vulnerabilità SQL injection quando si è appena iniziato con un controllo di sicurezza per aiutare a trovare ed eliminare le vulnerabilità di SQL injection. Il progetto Open Web Application Security consiglia di due strumenti: proprio SQLiX e SQLMap di OWASP, uno strumento di test di penetrazione open source (link in Risorse). Dopo aver scaricato uno strumento, fare riferimento alle istruzioni del OWASP per esso. Entrambi i programmi hanno molte opzioni dei parametri della riga di comando che controllano come il software mette alla prova il vostro sito WordPress.

Cosa Audit

L'unico modo per essere certi che il vostro sito WordPress non è vulnerabile a un attacco di SQL injection è quello di controllare il codice sorgente. A causa della vigilanza con la quale gli sviluppatori di WordPress monitorare il codice sorgente di base per le vulnerabilità, è probabile eventuali punti di debolezza sono in codice che hai scritto o il codice sorgente di un tema o un plugin che si sta utilizzando. Utilizzare l'editor del modulo Temi per rivedere il codice sorgente per ogni file di programma nel vostro tema. Prestare particolare attenzione a tutte le personalizzazioni che hai scritto. Utilizzare l'editor del modulo plugin per rivedere il codice sorgente per ogni plugin che hai attivato.

Come Audit

Eseguire un caso di ricerca insensitive nel codice sorgente per ciascuno dei seguenti comandi SQL: ". TRUNCATE" "CREATE", "ALTER", "Drop", "SELECT," "UPDATE", "CANCELLA", "insert" e Se il comando incorpora i dati da una variabile che contiene dati che potrebbero provenire da input dell'utente, sostituire il comando con una versione che utilizza la funzione "preparare" fornito da WordPress .. La funzione di preparare disinfetta i dati e previene comandi SQL dannosi da essere eseguito su il database. Ad esempio, sostituire: "$ wpdb-> query (" DELETE FROM $ wpdb-> postmeta DOVE post_id = $ user_selected_post ");" con "$ wpdb-> query (preparazione (" DELETE FROM $ wpdb-> postmeta DOVE post_id =% d ", $ user_selected_post));" (senza virgolette).

Rimanendo in corso sulle emissioni

Uno dei compiti più importanti per tutelarsi dai iniezione SQL e altri tipi di attacchi da parte di hacker è quello di garantire che il sistema sia aggiornato. Se una vulnerabilità di sicurezza è scoperto nel sistema principale di WordPress o in un tema o plugin che sta attivamente mantenuta, l'autore rilascerà una nuova versione. Ogni volta che una nuova versione di WordPress diventa disponibile, è consigliabile eseguire il backup del database e installare la nuova release. Quando il tema si utilizza o i plugin aver attivato gli aggiornamenti problema, è necessario eseguire il backup del database e installare gli aggiornamenti. La vostra dashboard di WordPress indica chiaramente quando WordPress, temi e plugin hanno nuove uscite non sono state installate.