
Этот инструмент предназначен для эксплуатации CVE-2024-39722 — уязвимости раскрытия наличия моделей в Ollama версиях до 0.1.45 включительно. Он позволяет проверить, уязвим ли сервер Ollama, и попытаться обнаружить существующие модели на сервере. Кроме того, инструмент может обходить официальную библиотеку моделей Ollama для формирования списка потенциальных моделей для тестирования. 中文
/api/push, злоумышленник может определить, существует ли конкретная модель (включая пользовательские модели, отсутствующие в публичной библиотеке) на сервере.https://ollama.com/library).requestslxmltermcolorCVE_2024_39722.py.pip install requests lxml termcolor
python CVE_2024_39722.py [options]
-h, --help: показать справочное сообщение и выйти.-u URL, --url URL: URL целевого сервера Ollama (например, http://localhost:11434).-c, --crawl: обойти библиотеку моделей Ollama и сохранить их в links.json.-o OUTPUT, --output OUTPUT: выходной файл для результатов (по умолчанию: results.json).-t THREADS, --threads THREADS: количество потоков для эксплуатации (по умолчанию: 10).-v, --version-check: только проверить, уязвим ли целевой сервер Ollama, на основе его версии.Показать справку:
python CVE_2024_39722.py -h
Обойти библиотеку моделей Ollama:
Этот шаг получит имена моделей с https://ollama.com/library и сохранит их в links.json.
python CVE_2024_39722.py --crawl
Проверить, уязвим ли целевой сервер:
python CVE_2024_39722.py -u http://localhost:11434 --version-check
Эксплуатировать целевой сервер:
Сначала будет проверена версия сервера. Если она уязвима, будет использован файл links.json (будет выполнен обход, если файла нет, или использован существующий) для проверки наличия моделей.
python CVE_2024_39722.py -u http://localhost:11434
Эксплуатация с указанным количеством потоков:
python CVE_2024_39722.py -u http://localhost:11434 -t 20
Эксплуатация с сохранением результатов в пользовательский файл:
python CVE_2024_39722.py -u http://localhost:11434 -o discovered_models.json
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Не используйте его на каких-либо системах без явного разрешения владельца. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим инструментом.