Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2017-5487 — cve-2017-5487 wp rest api vulnerabilidade | Kitploit
Ferramentas/GitHubGitHub/tpdlshdmlrkfmcla/cve-2017-5487
ReconhecimentoAnálise de VulnerabilidadesExploraçãoColeta de InformaçõesSegurança WebAprendizado e Educação
GitHubtpdlshdmlrkfmcla/cve-2017-5487

cve-2017-5487

cve-2017-5487 wp rest api vulnerabilidade

Ver Repositório
2há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
  1. CVE-2017-5487 é?

: Em versões do WordPress anteriores a 4.7.1, a implementação da REST API em wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php não restringia a lista de autores, permitindo que um atacante remoto obtivesse informações sensíveis através de uma requisição wp-json/wp/v2/users.

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

Se você não entendeu, vamos aprender sobre os conceitos básicos e depois praticar para entender melhor.

Se você acha que não precisa de conhecimento prévio, pode pular para [3].

  1. O que é REST API?

: Simplificando, uma API que define "o que fazer e como fazer" é chamada de REST API.

: Explicando mais detalhadamente, REST API é como os recursos definidos por uma URI HTTP são manipulados usando Métodos HTTP e Payload.

: REST = REpresentational State Transfer

2.1 Recursos definidos por URI HTTP

: Recurso é o objeto que está sendo processado.

Ex) JSON, documentos XML, arquivos de imagem como jpg, arquivos de vídeo como mp4, etc.

: URI significa Uniform Resource Identifier, é um identificador uniforme de recursos. URL, que vemos com frequência, também faz parte da URI e se refere à identificação de um determinado recurso.

Ex) Se através de http://rootable.tistory.com/user/test podemos obter informações sobre um usuário chamado test, isso também é uma URI.

2.2 Método HTTP

: O método funciona da mesma forma independentemente do formato do recurso.

: Os métodos usados na REST API incluem POST, GET, PUT, PATCH, DELETE, etc. É importante notar que eles diferem da funcionalidade que normalmente pensamos. Por exemplo, enquanto no uso comum pensamos em POST como um método para solicitar dados ou documentos ao servidor, na REST API ele realiza a função de criar (create).

  • Resumo dos Métodos HTTP e operações CRUD
Método HTTPOperação CRUD
POSTcreate
GETread
PUTupdate / replace
PATCHupdate / modify
DELETEdelete
  • Operação CRUD é um termo que agrupa Create, Read, Update, Delete, usados no processamento básico de dados por software de computador.

Ex) REST API para adicionar um usuário chamado doni em users de http://rootable.tistory.com

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

Ex) Quando for necessário especificar várias características como profissão, idade, sexo ao criar um usuário, registra-se usando uma linguagem de expressão como XML ou JSON no corpo da requisição.

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

{ "username" : "doni", "age" : "27" }

  1. REST API do WordPress

: Dissemos que a REST API é uma API pré-definida sobre como lidar com recursos. Então, quais são as REST APIs definidas pelo WordPress?

Consulte a tabela abaixo.

ResourceBase 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

Podemos ver que várias REST APIs estão definidas. Entre elas, vemos que /wp/v2/users aparece no CVE que vamos explorar agora.

  1. Exploração do CVE

4.1. Obter informações sobre o autor do post

  • Abaixo está o código encontrado no EXPLOIT DB ( https://www.exploit-db.com/exploits/41497/ )
  • Como podemos ver pelo código, ele apenas organiza o resultado de forma limpa e exibe na tela. Não é necessário usar este exploit; podemos acessar diretamente e obter as informações. Para manter a clareza, acho que não precisamos ir até a vulnerabilidade FU.

#!usr/bin/php

Salve este código como um arquivo PHP no local onde o WordPress está instalado e execute. O resultado será exibido conforme abaixo.

[A imagem não traduzível]

Se acessar diretamente, aparecerá conforme abaixo. (Clique se não estiver visível)

[A imagem não traduzível]

Através disso, podemos obter informações como ID e nome do usuário que escreveu o post.

Nota: Pensei que todos os usuários registrados seriam exibidos, mas conforme testei, apenas as contas de autores de posts são mostradas. Na descrição do CVE, há a palavra "author", que parece se referir exatamente a isso.

4.2 Obter diretório de upload de arquivos

Na REST API do WordPress, existe /wp/v2/posts. Ao acessá-lo, vemos informações sobre o post, e como destacado, podemos obter o caminho de upload de arquivos. Se houver uma vulnerabilidade FU, isso poderá ser muito útil.

[Imagem não traduzível]

  • Se ao acessar posts houver muitas informações incômodas, acesse [ /wp-json/wp/v2/posts/20 ] para obter apenas as informações do 20º post.
  1. Referências

Na versão 4.7, parece não ser possível visualizar as configurações ou editar posts.

  • Ao tentar ver as configurações, aparece rest_forbidden e o acesso é negado.

[Imagem não traduzível]

  • Ao tentar editar o primeiro post, aparece uma mensagem de que não é possível ler o post.

[Imagem não traduzível]

  • Isso seria mais significativo do que visualizar usuários, mas é um pouco decepcionante... Pesquisando, não parece haver vulnerabilidades correspondentes a isso. No entanto, para versões anteriores à 4.7.1, parece existir uma vulnerabilidade que permite editar posts de outros usuários. Isso será abordado no próximo post.

Referências:

  1. Explicação sobre REST API: http://blog.naver.com/PostView.nhn?blogId=complusblog&logNo=220986337770
  2. Conversor Unicode: http://koreanstudies.com/unicode-converter.html
  3. Downgrade (recomendo não reinstalar do zero, pois tentei e não deu certo; acabei reinstalando) : 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/
Baixar ferramenta