
Этот Python PoC эксплуатирует CVE-2024-46987, ошибку Path Traversal в Camaleon CMS 2.8.0 < 2.8.2 (работает на 2.9.0). Он позволяет аутентифицированным пользователям читать конфиденциальные файлы сервера через MediaController. Предназначен только для авторизованного аудита безопасности и образовательных исследований.
Этот репозиторий содержит скрипт Proof of Concept (PoC) для CVE-2024-46987, который позволяет читать произвольные файлы (LFI / Path Traversal) на Camaleon CMS.
Уязвимость Path Traversal была обнаружена в Camaleon CMS версий 2.8.0 до < 2.8.2 (странно, но работает и на 2.9.0). Она находится в методе download_private_file класса MediaController.
Эта уязвимость позволяет аутентифицированному пользователю загружать произвольные файлы с сервера, манипулируя параметром file. Если приложение работает с повышенными привилегиями или если чувствительные файлы доступны системному пользователю, под которым работает CMS, это может привести к критической утечке информации (файлы конфигурации, исходный код и т.д.).
Технические детали:
requestsВы можете установить зависимости с помощью следующей команды:
pip install requests
Скрипт требует наличия действительной учетной записи на целевом CMS для аутентификации и получения CSRF-токена, необходимого для эксплуатации.
python3 CVE-2024-46987.py -u <URL> -l <USERNAME> -p <PASSWORD> <FILE_TO_READ>
-u, --url: Базовый URL целевого сайта (например, http://example.com).-l, --user: Имя пользователя для аутентификации.-p, --password: Пароль для аутентификации.--path: (Необязательно) Путь к уязвимой конечной точке. По умолчанию: admin/media/download_private_file.-v, --verbose: Включить подробный режим для просмотра этапов подключения.file: Путь к файлу для чтения на сервере (например, /etc/passwd).Прочитать файл /etc/passwd:
python3 CVE-2024-46987.py -u http://target-cms.local -l admin -p password123 /etc/passwd
Использовать подробный режим:
python3 CVE-2024-46987.py -u http://target-cms.local -l user -p pass -v /etc/hosts
Этот код предоставляется только в образовательных целях и для исследований в области безопасности. Использование этого скрипта против целей без предварительного разрешения незаконно. Автор снимает с себя всякую ответственность за неправомерное использование.
Всегда проверяйте наличие явного разрешения перед проведением тестов на проникновение.