Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2017-5487 — cve-2017-5487 wp rest api vulnerabilità | Kitploit
Strumenti/GitHubGitHub/tpdlshdmlrkfmcla/cve-2017-5487
RicognizioneAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza WebApprendimento e Formazione
GitHubtpdlshdmlrkfmcla/cve-2017-5487

cve-2017-5487

cve-2017-5487 wp rest api vulnerabilità

Vedi Repository
1 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
  1. Cos'è CVE-2017-5487?

: Vulnerabilità nell'implementazione della REST API in wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php nelle versioni di WordPress precedenti alla 4.7.1, che non limita l'elenco degli autori, consentendo a un attaccante remoto di ottenere informazioni sensibili tramite una richiesta a wp-json/wp/v2/users.

( Riferimento : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5487 )

Dato che non capisco di cosa si tratti, informiamoci prima sul contesto e poi esaminiamolo con un po' di pratica.

Se pensi di non aver bisogno del contesto, puoi partire da [3].

  1. Cos'è la REST API?

: In poche parole, un'API che definisce "cosa fare e come farlo" può essere definita REST API.

: Spiegandolo più in dettaglio, la REST API è un'API che, tramite i metodi HTTP e il payload, opera sulle risorse definite da URI HTTP.

: REST è l'acronimo di REpresentational State Transter

2.1 Risorse definite da URI HTTP

: Una risorsa indica l'oggetto su cui si opera

es.) documenti JSON, XML, file immagine come jpg, file video come mp4, ecc..

: URI è l'acronimo di Uniform Resource Identifier, ovvero un identificatore uniforme di risorsa. Anche gli URL che vediamo comunemente sono parte degli URI e servono a identificare una determinata risorsa.

es.) Se tramite http://rootable.tistory.com/user/test è possibile ottenere informazioni su un utente chiamato test, anche questo è un URI.

2.2 Metodi HTTP

: Questi metodi funzionano allo stesso modo indipendentemente dal formato della risorsa.

: I metodi usati nella REST API includono POST, GET, PUT, PATCH, DELETE, ecc. Attenzione: non funzionano come ci si aspetterebbe. Ad esempio, nel caso di POST, pensiamo sia un metodo per inviare dati o documenti al server, ma nella REST API svolge la funzione di creazione (create).

  • Riepilogo dei metodi HTTP e delle operazioni CRUD

HTTP Method

Operazioni CRUD

POST

create

GET

read

PUT

update / replace

PATCH

update / modify

DELETE

delete

  • Le operazioni CRUD sono l'insieme di Create, Read, Update e Delete che il software informatico usa di base per l'elaborazione dei dati.

es.) Una REST API che aggiunge un utente chiamato doni agli users di http://rootable.tistory.com

POST http://rootable.tistroy.com/users/doni

es.) Se per la creazione di un utente servono varie caratteristiche come professione, età, sesso, ecc., è possibile registrarle specificando nel Body vari linguaggi di rappresentazione come XML o JSON

POST http://rootable.tistory.com/users Content-Type: application/json

{

"username" : "doni"

"age" : "27"

}

  1. La REST API di WordPress

: Abbiamo detto che la REST API è un'API predefinita su come operare sulle risorse. Allora, quali REST API sono definite in WordPress?

Facciamo riferimento alla tabella seguente.

Resource Base Route Posts /wp/v2/posts Post Revisions /wp/v2/revisions Categories /wp/v2/categories Tags /wp/v2/tags Pages /wp/v2/pages Comments /wp/v2/comments Taxonomies /wp/v2/taxonomies Media /wp/v2/media Users /wp/v2/users Post Types /wp/v2/types Post Statuses /wp/v2/statuses Settings /wp/v2/settings

Si può notare che sono definite diverse REST API. Qui possiamo vedere /wp/v2/users, che compare nel CVE che stiamo esaminando.

  1. Sfruttamento del CVE

4.1. Ottenere informazioni sull'autore degli articoli

  • Di seguito il codice trovato su EXPLOIT DB. ( https://www.exploit-db.com/exploits/41497/ )

  • Come si vede dal codice, non fa altro che organizzare in modo ordinato i risultati dell'elaborazione e mostrarli a schermo. Non è necessario usare per forza questo codice di exploit: le informazioni si possono ottenere anche accedendo direttamente, quindi per un output più pulito non ritengo sia necessario spingersi fino alla vulnerabilità FU.

#!usr/bin/php

Se si salva questo codice come file PHP nella directory in cui è installato WordPress e lo si esegue, si ottiene un risultato come quello qui sotto.

Se si accede direttamente, invece, appare come segue. (Clicca se non si vede bene)

Le informazioni che si possono ottenere in questo modo includono l'ID, il nome e altri dati dell'utente che ha scritto gli articoli.

Nota) Pensavo che comparissero tutti gli utenti registrati, ma dai test risulta che sono visibili solo gli account degli autori degli articoli. Nella descrizione del CVE compare la parola author, che sembra indicare proprio l'autore.

4.2 Ottenere il percorso di upload dei file

Tra le REST API di WordPress c'è /wp/v2/posts. Accedendovi, come mostrato nell'immagine sotto, si vedono le informazioni sugli articoli pubblicati e, come evidenziato, si può ottenere il percorso di upload dei file. Se venisse trovata una vulnerabilità FU, probabilmente sarebbe di grande aiuto.

  • Se accedendo a posts compaiono troppe informazioni e risulta scomodo, si può accedere a [ /wp-json/wp/v2/posts/20 ] per ottenere solo le informazioni relative al 20° articolo.
  1. Note

Anche nella versione 4.7 sembra impossibile visualizzare le impostazioni o modificare gli articoli.

  • Se si tenta di vedere le impostazioni, appare rest_forbidden e l'accesso viene negato.

  • Se si tenta di modificare il primo articolo, appare un messaggio che dice che l'articolo non è leggibile.

  • Sarebbe stato un problema più grave che vedere gli utenti, quindi è un peccato.. Dalle ricerche non sembra esistere una vulnerabilità corrispondente. Tuttavia, per le versioni precedenti alla 4.7.1, sembra esistere una vulnerabilità che consente di modificare gli articoli di altri utenti. Affronterò questo argomento nel prossimo post.

Riferimenti)

  1. Spiegazione della REST API : http://blog.naver.com/PostView.nhn?blogId=complusblog&logNo=220986337770
  2. Conversione Unicode : http://koreanstudies.com/unicode-converter.html
  3. Downgrade (non essendo riuscito ad andare avanti durante il processo, ho reinstallato: consiglio quindi di installare da capo) : http://www.bbsetheme.co.kr/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%B2%84%EC%A0%84-%EB%8B%A4%EC%9A%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C-%ED%95%98%EA%B8%B0/
Scarica lo strumento