Hackerare WordPress 4.7.0 – 1
In questa breve guida dimostrativa vediamo come sia possibile hackerare wordpress 4.7.0 -1. In particolar modo ci concentreremo su come “defacciare” parti del sito, articoli nel nostro caso. Per chi non lo sapesse, il gergo tecnico defacciare corrisponde a modificare il contenuto presente con qualcosa totalmente a nostra scelta.
Le versioni di wordpress 4.7.0 e 4.7.1 sono afflitte da un preoccupante baco in termini di sicurezza relativo alle chiama API che wordpress mette a disposizione, bug scoperto qualche giorno fa, che permette a chiunque, senza dover entrare nel pannello amministrativo, ma effettuando una semplice chiamata rest, di modificare in qualsiasi modo il contenuto di un qualsiasi articolo presente sul sistema.
Per testare questo bug, e attenzione: questa guida è a solo scopo informativo 😀 avremo bisogno di un software che ci permetta di effettuare chiamate rest. I più esperti possono utilizzare curl da riga di comando, per i meno esperti sono invece disponibili software come Postman (estensione per google chrome) oppure Rest (che l’ho recentemente scoperto proprio testando questo baco).
Non entrerò nel dettaglio di cosa sia una richiesta REST, vi basti sapere che per portare avanti questo attacco utilizzeremo il metodo POST.
Una richiesta HTTP di tipo REST non fa altro che trasmettere “valori”, in questo caso variabili tra cui quale articolo modificare e con cosa modificarlo, ad un endpoint che nel nostro caso sarà l’indirizzo del sito “vittima”.
In particolar modo invieremo una richiesta di tipo post alla seguente url per effettuare il nostro attacco:
http://sitodaattaccare.it/wp-json/wp/v2/posts/idpost
In grassetto le parti da modificare in base al nostro caso, ad esempio se volessi modificare (defaccciare) il testo dell’articolo con id 1 di questo mio sito dovrei effettuare una richiesta post al seguente url (non ci provate, questo sito è sicuro 😉 )
http://nicholasgiordano.it/wp-json/wp/v2/posts/1
Ora che abbiamo capito come costruire l’url alla quale mandare la richiesta di tipo post non resta altro che capire come inviare il contenuto che vogliamo sostituire all’articolo, per farlo dobbiamo utilizzare il campo “body” della richiesta, in base al programma che stiamo utilizzando per inviarla (come detto sopra) possiamo farlo in vari modi. La cosa importante è che sia un oggetto di tipo JSON (a breve esempio) formattato nel seguente modo:
Content-Type: application/json { "content": "Questo articolo è stato hackerato." }
Va inoltre inserita una query nel corpo della richiesta del seguente tipo:
?id=idpostabc
Per farvi un’esempio più completo sotto trovate una schermata utilizzando il servizio menzionato ad inizio articolo insieme a postman:
Schermata in cui si può vedere il body:
Schermata in cui è possibile vedere la query:
Il risultato nel nostro caso è il seguente, siamo passati da questo articolo con questo testo:
A quest’altro:
Lascio a voi immaginare la pericolosità di una vulnerabilità del genere dunque!
Vuoi provare ad “esercitarti” per capire quanto hai capito di questa vulnerabilità? Utilizza come target demo.nicholasgiordano.it/testhack e divertiti! 😀
Detto questo, cosa fare per difendersi? Semplice! Aggiornare wordpress!