Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2022-31692 — 一个演示项目,包含存在 Spring Security 授权绕过漏洞 CVE-2022-31692 的应用。 | Kitploit
工具/GitHubGitHub/blipzip/cve-2022-31692
身份验证与授权漏洞分析Web应用程序漏洞利用渗透测试学习与教育
GitHubblipzip/cve-2022-31692

cve-2022-31692

一个演示项目,包含存在 Spring Security 授权绕过漏洞 CVE-2022-31692 的应用。

查看仓库
356143年前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 到一个更高权限保护的端点。
  • 应用程序通过 authorizeHttpRequests().shouldFilterAllDispatcherTypes(true) 将 Spring Security 配置为应用于所有调度器类型。

作为参考,我很确定 这个提交 就是修复该漏洞的提交。

演示

该应用程序有三个 URL:

  1. / 首页
  2. /admin 一个 admin 页面,要求用户提供 Basic 认证(凭据 "user"/"pass")并被分配 ROLE_ADMIN 角色
  3. /forward 一个服务端 forward 到 admin 页面

访问控制通过 SecurityConfig 类中的 authorizeHttpRequests() 指定。

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())。控制器处理请求,并向 Dispatcher 返回 forward:/admin。 按照 spring.security.filter.dispatcher-types 和 .shouldFilterAllDispatcherTypes(true) 设置的指示, 这是一个 FORWARD 类型,因此应再次通过过滤器链。第二次经过过滤器会导致请求被拒绝 (同样,由于 hasAuthority("ROLE_ADMIN"))。

实际行为

用户访问 /forward,请求仅通过过滤器链一次,并通过校验。forward 被 处理,但不会再次通过过滤器链,而是直接通过校验,并返回 admin 页面。

下载工具