
Неаутентифицированная загрузка файлов → RCE PoC для CVE-2026-57827 (RSFiles! Joomla < 1.17.12). Только для авторизованного использования в исследованиях безопасности.
Отказ от ответственности — только авторизованное использование. Это доказательство концепции для исследований безопасности и защитного тестирования. Вы несёте ответственность за использование только на системах, которыми владеете или имеете явное письменное разрешение на тестирование. Неправомерное использование против третьих лиц без согласия незаконно. См. SECURITY.md — позиция по ответственному раскрытию.
Эксплойт + автономный детектор для CVE-2026-57827 в компоненте RSFiles! (com_rsfiles) для Joomla, версии < 1.17.12 (исправлена в 1.17.12, CVSS 9.8 / 10.0).
Загрузка на фронтенде разделена на две задачи:
rsfiles.checkupload — предварительный шлюз (проверка прав + список разрешённых расширений)rsfiles.upload — метод записи (без проверки прав, без проверки типа файла, без CSRF)Задачу записи можно вызвать напрямую, минуя предварительный шлюз, что
позволяет неаутентифицированному атакующему загрузить исполняемый .php-файл в публичную
папку и выполнить его → .
| Файл | Назначение |
|---|---|
cve_2026_57827.py | Эксплойт + сканер + CLI (точка входа) |
rsfiles_detect.py | Автономный модуль обнаружения (без эксплойта) — также имеет собственный CLI |
payload.py | Модульный компактный конструктор PHP-пейлоадов |
common.py | Общий HTTP-клиент, конфигурация и вспомогательные функции |
mock_server.py | Безопасная локальная симуляция для тестирования |
Все модули должны находиться в одном каталоге (они импортируют друг друга).
python3 -m pip install -r requirements.txt # or just: pip install requests
python rsfiles_detect.py -t example.com
Host : example.com
RSFiles! : YES v1.17.11
Protocol : https
Status : VULNERABLE (below 1.17.12)
Несколько хостов:
python rsfiles_detect.py -f hosts.txt
python cve_2026_57827.py -t example.com
В случае успеха инструмент выводит URL оболочки с её случайным токеном и вывод команды — этот вывод является доказательством RCE.
python cve_2026_57827.py -f targets.txt --threads 30 -o shells.txt --csv report.csv
| Флаг | Описание |
|---|---|
--threads N | Параллельность (по умолчанию 30) |
--proxy URL | Маршрутизация через прокси (Burp/ZAP) |
--timeout N | Таймаут запроса (секунды) |
--no-cleanup | Оставить загруженную оболочку (по умолчанию: автоматическое удаление после RCE) |
-o FILE | Сохранить RCE-URL |
--csv FILE | Полный структурированный отчёт |
--debug / -v | Подробное журналирование на уровне запросов |
# Terminal 1 — start the mock (vulnerable)
python mock_server.py 8000 1.17.11
# Terminal 2 — scan it
python rsfiles_detect.py -t 127.0.0.1:8000
python cve_2026_57827.py -t 127.0.0.1:8000
1.17.11 / 1.17.10 = уязвимые · 1.17.12 = исправленная.
payload.py): каждое действие (шлюз, загрузка, выполнение, удаление, список) — одна небольшая функция; имена функций выполнения закодированы в base64, чтобы незакодированные имена вроде system не встречались в байтах файла.cache7f31.php) вместо классических скрытых имён оболочек с точкой в начале.common.base_of().Стиль смоделирован по образцу публичных коллекций эксплойтов для компонентов Joomla (например,
incredibleindishell/joomla-vulnerabilities) и подробных отчётов (advisories) RSJoomla/mysites.guru
об этой CVE.
MIT — см. LICENSE. Только для исследовательских/защитных целей.