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

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

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

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

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

Категории

Все категории
Loading categories
cve-2024-38819-lab — Практическая лаборатория, демонстрирующая уязвимость обхода пути CVE-2024-38819 в Spring Framework, с уязвимыми и исправленными развертываниями Spring Boot для обучения безопасности. | Kitploit
Инструменты/GitHubGitHub/trevorputbrese/cve-2024-38819-lab
Анализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьНеправильная КонфигурацияОбучение и ОбразованиеЛаборатории и Практика
GitHubtrevorputbrese/cve-2024-38819-lab

cve-2024-38819-lab

Практическая лаборатория, демонстрирующая уязвимость обхода пути CVE-2024-38819 в Spring Framework, с уязвимыми и исправленными развертываниями Spring Boot для обучения безопасности.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
2 месяцев назадЕщё не проверено

Лаборатория Customer Vault для CVE-2024-38819

Это демонстрационное приложение Spring Boot, готовое для Cloud Foundry, для CVE-2024-38819 — уязвимости обхода пути в функциональной обработке статических ресурсов Spring Framework.

Что исправлено?

CVE-2024-38819 исправлена в Spring Framework, а не напрямую в Spring Boot.

Spring Boot по-прежнему важен в демонстрации, потому что он управляет версиями зависимостей Spring Framework, используемых приложением. Другими словами, обслуживающий релиз Spring Boot может принести исправленную версию Framework, но уязвимый путь кода и исправление безопасности находятся в функциональной обработке статических ресурсов WebFlux/WebMvc Spring Framework.

Приложение представляет небольшой UI хранилища документов клиентов. Публичные документы обслуживаются из /files/** с помощью WebFlux.fn RouterFunctions.resources(...) с FileSystemResource, что соответствует уязвимым условиям в уведомлении Spring. При запуске приложение создает:

  • каталог для публичных документов
  • фиктивный секрет вне этого публичного каталога
  • символическую ссылку, используемую проверочным запросом для демонстрации обхода

Секрет генерируется приложением и не содержит реальных учетных данных.

Версии

Эта лаборатория намеренно оставляет Spring Boot на 3.3.4 в обоих режимах и изменяет только управляемую версию Spring Framework:

РежимSpring BootSpring Framework

Профиль Maven patched устанавливает:

root@kitploit:~
<spring-framework.version>6.1.14</spring-framework.version>

Без этого профиля Spring Boot 3.3.4 управляет Spring Framework 6.1.13, что является уязвимой версией, используемой в демонстрации.

Сборка артефактов

Соберите оба демонстрационных артефакта:

root@kitploit:~
scripts/build-artifacts.sh

Это создает два отдельных развертываемых jar-файла:

root@kitploit:~
target/cve-2024-38819-vulnerable.jar
target/cve-2024-38819-patched.jar

Локальный запуск

root@kitploit:~
mvn spring-boot:run

Откройте:

root@kitploit:~
http://127.0.0.1:8080

Запустите ограниченное доказательство:

root@kitploit:~
python3 scripts/prove-secret-exposure.py --expect vulnerable

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

root@kitploit:~
RESULT: vulnerable behavior confirmed. The fake secret was served from outside the public file root.

Запустите исправленный режим:

root@kitploit:~
mvn -Ppatched spring-boot:run

Затем:

root@kitploit:~
python3 scripts/prove-secret-exposure.py --expect patched

Cloud Foundry

Отправьте уязвимую версию:

root@kitploit:~
scripts/cf-push-vulnerable.sh

Это развертывает target/cve-2024-38819-vulnerable.jar как patch-your-spring-vulnerable.

Запустите доказательство против вашего маршрута приложения:

root@kitploit:~
python3 scripts/prove-secret-exposure.py \
  --target https://YOUR-VULNERABLE-ROUTE \
  --allow-remote-demo \
  --expect vulnerable

Отправьте исправленную версию:

root@kitploit:~
scripts/cf-push-patched.sh

Это развертывает target/cve-2024-38819-patched.jar как patch-your-spring-patched.

Запустите то же доказательство:

root@kitploit:~
python3 scripts/prove-secret-exposure.py \
  --target https://YOUR-PATCHED-ROUTE \
  --allow-remote-demo \
  --expect patched

Очистка:

root@kitploit:~
cf delete patch-your-spring-vulnerable -f -r
cf delete patch-your-spring-patched -f -r

Ссылки

  • Уведомление Spring: https://spring.io/security/cve-2024-38819/
  • Публичная форма PoC: https://github.com/masa42/CVE-2024-38819-POC
  • Уведомление GitHub: https://github.com/advisories/GHSA-g5vr-rgqm-vf78
Скачать инструмент
Artifact
Уязвимая3.3.46.1.13target/cve-2024-38819-vulnerable.jar
Исправленная3.3.46.1.14target/cve-2024-38819-patched.jar