
Compito CodePath per le Settimane 7 e 8: CVE-2017-14719, CVE-2019-9787 e Modifica non autenticata del contenuto di pagine/post tramite API REST
CodePath Assegnazione per le Settimane 7 e 8: CVE-2017-14718, CVE-2019-9787 e Modifica non autenticata del contenuto di Pagine/Post tramite API REST
Tempo impiegato: 16 ore in totale
Obiettivo: Trovare, analizzare, ricreare e documentare vulnerabilità che interessano una versione obsoleta di WordPress
- [ ] Passaggi per ricreare: Se un attaccante riesce ad ottenere l'accesso a un account Amministratore, può cliccare sul pulsante "Plugin" e visualizzare i plugin installati. Accanto a ciascun plugin elencato c'è un pulsante "Elimina", che se premuto, porterà l'attaccante a una pagina dove l'Amministratore può visualizzare il contenuto della directory che sta cercando di eliminare prima di apportare una modifica permanente. Da questa pagina, l'attaccante può cancellare il nome del plugin dall'URL (situato direttamente dopo checked[0]= e prima del '&'). L'attaccante sostituisce il nome del plugin con uno o più caratteri " ../ " fino a raggiungere la directory particolare che desidera eliminare.
- [ ] Codice sorgente affetto:
- https://core.trac.wordpress.org/browser/tags/3.8/src/wp-admin/plugins.php
#######################################################################################
########################################################################################
Ho usato codice exploit Python da questo url: https://www.exploit-db.com/exploits/41223
Mentre lavoravo sulla 'Modifica non autenticata del contenuto di Pagine/Post tramite API REST' ho incontrato un errore di importazione per il file python a causa della mancanza del pacchetto lxml installato.
Dopo aver installato lxml, ho provato a eseguire di nuovo 'python [exploit_file_name].py http://wpdistillery.vm'. È qui che ho incontrato il mio secondo problema: ho ricevuto un UnicodeEncodeError. Ho risolto questo problema eliminando i post superflui che contenevano l'ordinale non compreso nell'intervallo.

Ho creato un nuovo post con contenuto in testo semplice e ho eseguito di nuovo lo script. È stato eseguito con successo, scoprendo gli endpoint dell'API e ottenendo l'id del post disponibile, il titolo e il collegamento.
Copyright [yyyy] [nome del titolare del copyright]
Concesso in licenza secondo l'Apache License, Versione 2.0 (la "Licenza");
non puoi utilizzare questo file se non in conformità con la Licenza.
Puoi ottenere una copia della Licenza all'indirizzo
http://www.apache.org/licenses/LICENSE-2.0
Salvo quanto richiesto dalla legge applicabile o concordato per iscritto, il software
distribuito secondo la Licenza è distribuito su base "AS IS" (COSÌ COM'È),
SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o implicite.
Vedere la Licenza per il linguaggio specifico che regola le autorizzazioni e
le limitazioni previste dalla Licenza.