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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-7028 — CVE-2023-7028 的 GitLab 账户接管漏洞利用程序,演示了通过注入攻击者邮箱接收重置令牌来绕过密码重置。 | Kitploit
工具/GitHubGitHub/thanhlam-attt/cve-2023-7028
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试身份验证
GitHubthanhlam-attt/cve-2023-7028

CVE-2023-7028

CVE-2023-7028 的 GitLab 账户接管漏洞利用程序,演示了通过注入攻击者邮箱接收重置令牌来绕过密码重置。

查看仓库
2152年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

简介

  • GitLab 是一款被广泛应用的基于 Web 的代码仓库管理器,为软件开发项目中的源代码管理、集成、维护和协作提供了全面的平台
  • CVE-2023-7028 是一个允许攻击者通过 reset password 表单接管用户账户 (Account TakeOver) 的漏洞
  • 该漏洞存在于以下 GitLab 版本中:
    • 16.1 至 16.1.5
    • 16.2 至 16.2.8
    • 16.3 至 16.3.6
    • 16.4 至 16.4.4
    • 16.5 至 16.5.5
    • 16.6 至 16.6.3
    • 16.7 至 16.7.1

漏洞分析

  • 该漏洞位于 reset password 表单中,具体是 GitLab 的 API 端点 POST /users/password。攻击者利用 email address 字段中的漏洞,绕过格式校验,从而能够插入自己的邮箱。当 GitLab 发送 reset token 时,该令牌会发送到攻击者的邮箱
  • 漏洞分析:
    • 基于 GitLab 提供的代码片段,我们可以发现以下内容:

      1

      • 处理 Reset Password 请求的部分位于文件 spec/controllers/passwords_controller_spec.rb 中,该部分允许从输入中接收多个邮箱,但没有任何邮箱验证机制来确认该邮箱是否属于用户

      • 服务器端仅要求攻击者在表单提交中提供 authenticity_token(这是一个用于防止 CSRF 的隐藏令牌)即可发送重置密码请求

        2

      → 因此,我们可以插入自己的邮箱来接收受害者的密码重置 reset token,从而接管用户账户

漏洞利用

  • 捕获重置密码请求后,我们得到如下内容:

    3

    • 表单包含一个用于防止 CSRF 的 authenticity_token,被重置密码的用户邮箱名称位于变量 user[email] 中
  • 按照如下 payload 添加攻击者的邮箱 &user[email][]=victim_email&user[email][]=attacker_email 并发送请求:

    4

    → 检查攻击者的邮箱,发现重置密码令牌已发送至该邮箱,并且可以访问该令牌来更改密码

    5

    6

下载工具