Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2017-5487 — cve-2017-5487 wp rest api 취약점 | Kitploit
Инструменты/GitHubGitHub/tpdlshdmlrkfmcla/cve-2017-5487
ReconnaissanceVulnerability AnalysisExploitationInformation GatheringWeb SecurityLearning & Education
GitHubtpdlshdmlrkfmcla/cve-2017-5487

cve-2017-5487

cve-2017-5487 wp rest api 취약점

Репозиторий
1 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
  1. Что такое CVE-2017-5487?

: В версиях WordPress до 4.7.1 реализация REST API в wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php не ограничивает список авторов, что позволяет удаленному атакующему получить важную информацию через запрос wp-json/wp/v2/users.

(Источник: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5487)

Если непонятно, давайте сначала разберемся с базовыми знаниями, а затем изучим на практике.

Если вы считаете, что базовые знания не нужны, можете перейти сразу к [3].

  1. Что такое REST API?

: Простыми словами, REST API — это API, который определяет «что делать и как».

: Если объяснять подробнее, REST API — это способ выполнения действий над ресурсами, определенными через HTTP URI, с помощью HTTP-методов и полезной нагрузки (Payload).

: REST = REpresentational State Transfer

2.1 Ресурсы, определенные через HTTP URI

: Ресурс — это объект, который обрабатывается.

Примеры: JSON, XML-документы, файлы изображений (jpg и т.д.), видеофайлы (mp4 и т.д.) и другие.

: URI (Uniform Resource Identifier) — это унифицированный идентификатор ресурса. URL, который мы часто видим, также является частью URI и обозначает идентификацию некоторого ресурса.

Пример: если через http://rootable.tistory.com/user/test можно получить информацию о пользователе test, это тоже URI.

2.2 HTTP-методы

: Эти методы работают одинаково независимо от формата ресурса.

: Методы, используемые в REST API: POST, GET, PUT, PATCH, DELETE и другие. Важно отметить, что они отличаются от привычных нам функций. Например, POST в классическом понимании используется для запроса данных или документов к серверу, но в REST API он выполняет функцию создания (create).

  • Сводка HTTP-методов и CRUD-операций

HTTP-метод

CRUD-операция

POST

create

GET

read

PUT

update / replace

PATCH

update / modify

DELETE

delete

  • CRUD-операции — это общее название для Create, Read, Update, Delete, которые базово используются в компьютерном программном обеспечении при обработке данных.

Пример: REST API для добавления пользователя doni в users на http://rootable.tistory.com

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

Пример: если при создании пользователя требуются различные характеристики, такие как профессия, возраст, пол и т.д., они указываются в теле запроса с использованием различных языков представления, например XML или JSON.

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

{

"username" : "doni"

"age" : "27"

}

  1. REST API в WordPress

: Мы сказали, что REST API — это заранее определенный набор правил о том, как работать с ресурсами. Тогда какие REST API определены в WordPress?

Обратимся к таблице ниже.

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 Видно, что определено множество REST API. Среди них есть /wp/v2/users, который упоминается в рассматриваемом нами CVE.

  1. Использование CVE

4.1. Получение информации об авторах записей

  • Ниже приведен код, найденный на EXPLOIT DB (https://www.exploit-db.com/exploits/41497/).

  • Как видно из кода, он просто аккуратно форматирует результат и выводит его на экран. Нет необходимости использовать этот эксплойт, можно получить информацию и при прямом обращении, так что для наглядности можно обойтись без FU-уязвимости.

#!usr/bin/php

Если сохранить этот код в виде PHP-файла и запустить его в месте, где установлен WordPress, результат будет как показано ниже.

При прямом доступе результат выглядит так, как показано ниже (если не видно, нажмите).

Из этого можно получить информацию об ID, имени и т.д. пользователей, написавших записи.

Примечание) Я думал, что отображаются все зарегистрированные пользователи, но, как показали тесты, отображаются только учетные записи авторов записей. В описании CVE есть слово «author», которое, похоже, и означает «автор».

4.2 Получение пути загрузки файлов

Среди REST API в WordPress есть /wp/v2/posts. При доступе к нему отображается информация о опубликованных записях, как показано ниже. Среди прочего можно получить путь загрузки файлов, как отмечено на рисунке. Если будет обнаружена FU-уязвимость, это может оказаться очень полезным.

  • Если при обращении к posts выводится слишком много информации и это неудобно, можно обратиться к [ /wp-json/wp/v2/posts/20 ], чтобы получить информацию только о 20-й записи.
  1. Примечание

В версии 4.7, похоже, невозможно просмотреть настройки или редактировать записи.

  • При попытке просмотреть настройки появляется сообщение rest_forbidden, и доступ запрещен.

  • При попытке отредактировать первую запись появляется сообщение о невозможности прочитать запись.

  • Возможно, просмотр пользователей — не самое главное, это немного разочаровывает... Согласно результатам поиска, соответствующих уязвимостей не обнаружено. Однако для версий до 4.7.1, похоже, существует уязвимость, позволяющая редактировать записи других пользователей. Об этом мы расскажем в следующей публикации.

Ссылки:

  1. Описание REST API: http://blog.naver.com/PostView.nhn?blogId=complusblog&logNo=220986337770

  2. Конвертер Unicode: http://koreanstudies.com/unicode-converter.html

  3. Понижение версии (рекомендую не переустанавливать, так как у меня не получилось, и я установил заново)

: 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/

Скачать инструмент