Этот репозиторий содержит модифицированный PoC-эксплойт для плагина WordPress Royal Elementor Addons and Templates (версии ≤ 1.3.78).
Уязвимость допускает неаутентифицированную произвольную загрузку файлов, которую можно использовать для загрузки PHP-файла и достижения удалённого выполнения кода (RCE).
CVE: CVE-2023-5360
Тип уязвимости: Неаутентифицированная загрузка файлов → RCE
Затронутый плагин: Royal Elementor Addons and Templates
Исправленная версия: 1.3.79+
🔧 Примечания к модификации
Эта версия — полностью переписанный вариант оригинального эксплойта со следующими изменениями:
✅ Использует ТОЛЬКО стандартную библиотеку Python
❌ Без сторонних зависимостей (requests, rich и т.д.)
🔄 Заменён requests →
urllib.request
🔄 Вывод rich заменён на встроенный print()
🔐 Проверка SSL отключена с помощью модуля ssl
🧪 Предназначен для CTF-лабораторий, исследований в области безопасности и учебных целей
Вся оригинальная логика эксплуатации осталась без изменений.
🧠 Как работает уязвимость
Плагин предоставляет AJAX-эндпоинт:
/wp-admin/admin-ajax.php
Этот эндпоинт:
Принимает загрузку файлов
Полагается на клиентский nonce
Не выполняет надлежащую проверку расширений файлов
Злоупотребляя параметром allowed_file_types и используя специально сформированное имя файла (например, ph$p), можно загрузить PHP-файл, который будет выполнен на сервере.
📦 Возможности
Автоматическое извлечение nonce из JavaScript-объекта WprConfig
Поддержка загрузки собственной PHP-оболочки
Генерирует PHP-оболочку по умолчанию, если она не указана
Возвращает URL загруженной оболочки в случае успеха
Работает с целями как по HTTP, так и по HTTPS
🛠 Требования
Python 3.7+
Целевая система, на которой запущены:
WordPress
Royal Elementor Addons ≤ 1.3.78
Дополнительные библиотеки Python не требуются.
🚀 Использование
Базовое использование (автоматически сгенерированная оболочка)