
Эксплойт для подтверждения концепции для CVE-2024-2961, использующий уязвимости кодировок iconv и цепочки фильтров PHP для чтения произвольных файлов с уязвимых серверов через загрузку специально сформированных пейлоадов.
Этот скрипт демонстрирует, как эксплуатировать уязвимость в системах, использующих библиотеку iconv, при некорректной обработке преобразований кодировок символов, описанную в CVE-2024-2961. Он позволяет злоумышленнику читать произвольные файлы с сервера, используя цепочки PHP-фильтров и ошибочную обработку кодировок.
Скрипт автоматизирует процесс загрузки специально сформированной полезной нагрузки, получения результирующего файла и отображения его содержимого. Он основан на исследованиях, подробно описанных в статье: Iconv CVE-2024-2961: Exploiting Character Encoding Conversions.
Скрипт выполняет следующие шаги:
Создание полезной нагрузки
Он создает полезную нагрузку на основе цепочки PHP-фильтров, которая использует преобразования кодировок iconv для чтения любого файла на сервере. Эта нагрузка предназначена для обхода стандартных ограничений, обеспечивая доступ к таким файлам, как /etc/passwd или другим конфиденциальным файлам.
Загрузка файла
Он отправляет POST-запрос на конечную точку admin-ajax.php целевого сервера, имитируя загрузку изображения. Полезная нагрузка скрыта внутри запроса, так что сервер обрабатывает её как легитимный файл.
Скачивание файла
После загрузки полезной нагрузки скрипт скачивает файл, который теперь содержит содержимое целевого файла. Затем он извлекает и отображает это содержимое.
requests (установите с помощью pip install requests)iconv и PHP.Клонируйте репозиторий или скачайте скрипт:
git clone https://github.com/kyotozx/CVE-2024-2961-Remote-File-Read.git
cd CVE-2024-2961-Remote-File-Read
Запустите скрипт:
python3 lfi.py
Следуйте подсказкам:
/etc/passwd).1).Что делает скрипт:
Remote File Read Exploitation - CVE-2024-2961
Enter the path of the file you want to read (e.g., /etc/passwd): /etc/passwd
Enter a numeric ID for the upload (e.g., 1): 1
File uploaded successfully: http://blog.bigbang.htb/wp-content/uploads/2025/01/1-50.png
File content:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
Этот скрипт предназначен исключительно для образовательных и авторизованных тестовых целей. Не используйте его в системах без явного разрешения.