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

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

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

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

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

Категории

Все категории
Loading categories
cve-2022-31692 — Проект, демонстрирующий приложение, уязвимое к обходу авторизации Spring Security CVE-2022-31692 | Kitploit
Инструменты/GitHubGitHub/blipzip/cve-2022-31692
Аутентификация и авторизацияАнализ уязвимостейЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubblipzip/cve-2022-31692

cve-2022-31692

Проект, демонстрирующий приложение, уязвимое к обходу авторизации Spring Security CVE-2022-31692

Репозиторий
3563 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

CVE-2022-31692 Демо

Обзор

Простое приложение Spring Boot, демонстрирующее конфигурацию, уязвимую к CVE-2022-31692.

Эта уязвимость может привлечь внимание из-за своей серьёзности — она имеет базовую оценку CVSS 3.x 9,8, поскольку позволяет обойти аутентификацию. Цель этого проекта — продемонстрировать условия, описанные в рекомендациях, которые делают уязвимость применимой.

  • Приложение ожидает, что Spring Security применяет защиту к типам диспетчера forward и include.
  • Приложение использует AuthorizationFilter либо вручную, либо через метод authorizeHttpRequests().
  • Приложение настраивает FilterChainProxy так, чтобы он применялся к forward и/или include запросам (например, spring.security.filter.dispatcher-types = request, error, async, forward, include).
  • Приложение может выполнять forward или include запроса на конечную точку, защищённую более высокими привилегиями.
  • Приложение настраивает Spring Security на применение ко всем типам диспетчера через authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)

Для справки, я почти уверен, что этот коммит устраняет эту уязвимость.

Демонстрация

Приложение имеет три URL:

  1. / — главная страница
  2. /admin — страница администратора, требующая от пользователя Basic-аутентификации (учётные данные "user"/"pass") и наличия роли ROLE_ADMIN
  3. /forward — серверный forward на страницу администратора

Контроль доступа задаётся через authorizeHttpRequests() в классе SecurityConfig.

root@kitploit:~
.authorizeHttpRequests((authz) -> authz
	.antMatchers("/").permitAll()
	.antMatchers("/forward").permitAll()
	.antMatchers("/admin").hasAuthority("ROLE_ADMIN")
	.shouldFilterAllDispatcherTypes(true)
)

Ожидаемое поведение

  1. Пользователь обращается к / и не аутентифицирован (благодаря permitAll())

  2. Пользователь обращается к /admin. Он не предоставляет аутентификацию, и запрос отклоняется (401 Not authorized).

  3. Пользователь обращается к /admin. Он предоставляет действительную аутентификацию, но запрос всё равно отклоняется (403 Unauthorised), поскольку у него нет требуемой роли .hasAuthority("ROLE_ADMIN").

  4. Пользователь обращается к /forward. Его запрос проходит через цепочку фильтров безопасности для GET /forward, который проходит как допустимый (благодаря permitAll()). Контроллер обрабатывает запрос и возвращает forward:/admin диспетчеру. Согласно настройкам spring.security.filter.dispatcher-types и .shouldFilterAllDispatcherTypes(true), это тип FORWARD, поэтому он должен снова пройти через цепочку фильтров. Этот второй проход через фильтр приводит к отклонению запроса (снова, благодаря hasAuthority("ROLE_ADMIN")).

Фактическое поведение

Пользователь обращается к /forward, запрос проходит через цепочку фильтров один раз и проходит как допустимый. Forward обрабатывается, но вместо повторного прохождения через цепочку он просто проходит как допустимый, и возвращается страница администратора.

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