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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-41892_PoC — Скрипты proof-of-concept и Docker-лаборатория для воспроизведения CVE-2023-41892, уязвимости удаленного выполнения кода без предварительной аутентификации в Craft CMS. Включает эксплойты для отравления логов (log poisoning) и записи файлов MSL Imagick. | Kitploit
Инструменты/GitHubGitHub/lyccyc/cve-2023-41892_poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHublyccyc/cve-2023-41892_poc

CVE-2023-41892_PoC

Скрипты proof-of-concept и Docker-лаборатория для воспроизведения CVE-2023-41892, уязвимости удаленного выполнения кода без предварительной аутентификации в Craft CMS. Включает эксплойты для отравления логов (log poisoning) и записи файлов MSL Imagick.

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

Популярное

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

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

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

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

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

CVE-2023-41892 Craft CMS PoC

Этот репозиторий содержит скрипты proof-of-concept и локальный Vulhub-стенд для воспроизведения CVE-2023-41892 — уязвимости удаленного выполнения кода без предварительной аутентификации в Craft CMS.

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

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

root@kitploit:~
CVE-2323-41892_PoC/
+-- README.md
+-- LFI_to_RCE.py
+-- Imagick_PoC.py
+-- Vulnhub_env/
    +-- docker-compose.yml
    +-- README.md
    +-- README.zh-cn.md
    +-- 1.png ... 5.png

Назначение файлов

ПутьНазначение
LFI_to_RCE.pyPoC для отравления логов с последующим включением локального файла через гаджет Psy\Configuration.
Imagick_PoC.pyPoC для произвольной записи файлов через гаджет MSL Imagick.
Vulnhub_env/docker-compose.ymlDocker Compose стенд, запускающий уязвимую Craft CMS 4.4.14 и MySQL 5.7.
Vulnhub_env/README.mdОригинальные заметки по воспроизведению в стиле Vulhub с примерами запросов и скриншотами.
Vulnhub_env/README.zh-cn.mdКитайская версия заметок по воспроизведению Vulhub.
Vulnhub_env/*.pngСкриншоты, используемые в документации окружения Vulhub.

Краткое описание уязвимости

CVE-2023-41892 затрагивает Craft CMS версий от 4.0.0-RC1 до 4.4.14. Проблема исправлена в Craft CMS 4.4.15.

Уязвимая конечная точка, используемая обоими скриптами:

root@kitploit:~
/index.php?action=conditions/render

PoC нацелены на URL локального стенда по умолчанию:

root@kitploit:~
http://localhost:8088

Если ваш стенд работает на другом хосте или порту, обновите значение URL в начале файлов LFI_to_RCE.py и Imagick_PoC.py.

Требования

  • Docker и Docker Compose
  • Python 3
  • Python-пакет: requests

Установите зависимость Python:

root@kitploit:~
pip install requests

Запуск стенда

Запустите уязвимое окружение Craft CMS:

root@kitploit:~
cd Vulnhub_env
docker compose up -d

Откройте установщик Craft CMS:

root@kitploit:~
http://localhost:8088/admin/install

Используйте следующие параметры базы данных по умолчанию во время установки:

НастройкаЗначение
Хост базы данныхdb
Имя базы данныхcraftcms
Пользователь базы данныхroot
Пароль базы данныхroot

После установки убедитесь, что сайт доступен по адресу:

root@kitploit:~
http://localhost:8088

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

Выполняйте команды из корня репозитория:

root@kitploit:~
cd CVE-2323-41892_PoC

PoC 1: Отравление логов до RCE

Запустите:

root@kitploit:~
python LFI_to_RCE.py

Что он делает:

  1. Отправляет некорректный JSON, содержащий PHP-код, в лог Craft CMS.

  2. Формирует путь к файлу лога, используя текущую локальную дату:

    root@kitploit:~
    ../storage/logs/web-YYYY-MM-DD.log
    
  3. Использует craft\elements\conditions\users\UserCondition с \Psy\Configuration для включения отравленного файла лога.

  4. Проверяет, появился ли вывод phpinfo() в ответе.

Ожидаемый успешный вывод:

root@kitploit:~
[*] Starting Log Poisoning...
[+] Payload sent successfully!
[*] Starting LFI to RCE...
[+] phpinfo() executed successfully!

PoC 2: Запись файла через MSL Imagick

Запустите:

root@kitploit:~
python Imagick_PoC.py

Что он делает:

  1. Загружает MSL-полезную нагрузку через multipart/form-data.
  2. Инициирует создание объекта с помощью гаджета Imagick.
  3. Пытается записать webshell.php в корень веб-сервера.
  4. Запрашивает http://localhost:8088/webshell.php и проверяет наличие phpinfo().

Ожидаемый успешный вывод:

root@kitploit:~
[*] Sending multipart/form-data payload to trigger Imagick gadget...
[+] Success: phpinfo() output found.

Путь Imagick может привести к аварийному завершению PHP-воркера после активации полезной нагрузки. В стенде Vulhub это может быть нормальным, если webshell.php записан до сбоя.

Настройка

Оба скрипта определяют целевой URL в начале файла:

root@kitploit:~
URL = "http://localhost:8088"

Измените это значение, если уязвимый стенд доступен по другому адресу.

Imagick_PoC.py проверяет созданный файл по адресу:

root@kitploit:~
OUTPUT_FILE = "/webshell.php"

Устранение неполадок

Скрипты не могут подключиться

  • Убедитесь, что контейнеры запущены:

    root@kitploit:~
    cd Vulnhub_env
    docker compose ps
    
  • Убедитесь, что сайт доступен по адресу http://localhost:8088.

  • Проверьте, не использует ли другой сервис порт 8088.

  • Обновите значение URL в скриптах Python, если вы изменили открытый порт.

LFI_to_RCE.py не показывает PHP Version

  • Убедитесь, что установка Craft CMS завершена.
  • Убедитесь, что Craft CMS записывает логи в storage/logs/.
  • Проверьте, что дата в имени файла лога совпадает с датой контейнера.
  • Если даты на хосте и в контейнере различаются, обновите путь к web-YYYY-MM-DD.log в LFI_to_RCE.py.

Imagick_PoC.py возвращает 404 для /webshell.php

  • Убедитесь, что PHP-расширение Imagick включено в целевой среде.
  • Убедитесь, что PHP-процесс может записывать в корень веб-сервера.
  • Убедитесь, что загруженные временные файлы создаются в /tmp/php*.
  • Повторите попытку, если PHP-воркер упал во время запроса активации.

Очистка

Остановите стенд:

root@kitploit:~
cd Vulnhub_env
docker compose down

Удалите контейнеры и том базы данных, если хотите выполнить чистую переустановку:

root@kitploit:~
docker compose down -v

Устранение уязвимости

Обновите Craft CMS до версии 4.4.15 или новее.

При подозрении на эксплуатацию смените ключ безопасности Craft CMS, учетные данные базы данных, секреты приложения и все учетные данные, хранящиеся в окружении.

Ссылки

  • Воспроизведение Vulhub: https://github.com/vulhub/vulhub/blob/master/craftcms/CVE-2023-41892/README.md
  • Уведомление Craft CMS: https://github.com/craftcms/cms/security/advisories/GHSA-4w8r-3xrw-v25g
  • Запись NVD: https://nvd.nist.gov/vuln/detail/CVE-2023-41892
Скачать инструмент