Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
grafana-signup-invite-join — Grafana OSS 13.2.3 - 高危 - 远程 - 邀请加入 - SignUpStep2 无需邀请码即可加入待处理的组织邀请 | Kitploit
工具/GitHubGitHub/abraxas/grafana-signup-invite-join
身份验证与授权权限提升漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试实验室与实践
GitHubabraxas/grafana-signup-invite-join

grafana-signup-invite-join

Grafana OSS 13.2.3 - 高危 - 远程 - 邀请加入 - SignUpStep2 无需邀请码即可加入待处理的组织邀请

查看仓库
75天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Abraxas Labs - grafana-signup-invite-join

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  grafana-signup-invite-join

grafana-signup-invite-join

类别: 权限残留 可达性: 远程

Grafana OSS 13.2.3 (6193dc0) - Grafana Labs

当 users.allow_sign_up 为 true 且 users.verify_email_enabled 保持默认的 false 时,未认证的 POST /api/user/signup/step2 携带受邀邮箱即可创建账户,并且 applyUserInvite 会以 invite.Role 附加该地址的所有 InvitePending 记录。此路径从不要求 30 字符的邀请码。角色可以是 Admin。

知道受邀邮箱。跳过邀请码。以 Admin 身份加入组织。

ID暂无 CVE
类别权限残留
可达性远程(未认证 HTTP;需要 users.allow_sign_up=true)
CWECWE-862
CVSS高危:8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
产品Grafana OSS
受影响版本13.2.3 (6193dc0);开放注册路径
认证未认证。邮箱验证默认关闭。原版 defaults.ini 中注册为关闭。
许可证GNU Affero GPL v3.0
实验环境仅限 127.0.0.1

攻击者能做什么

需要知道受邀地址(邀请邮件、猜测或另一处泄露)。不需要邮箱访问权限,也不需要邀请码。不需要已有的 Grafana 账户。

权限方法 / 汇聚点侦察 / 完整性 / 可用性实验验证或推断
以受邀邮箱创建账户未认证 POST /api/user/signup/step2 携带 code=""完整性(账户创建)实验验证。会话 /api/user login=invitee
以邀请角色加入受邀组织(本实验中为 Admin)来自 GetTempUsersQuery{Email, InvitePending} 的 applyUserInvite完整性(组织成员身份 + 角色)实验验证。/api/user/orgs role=Admin;sqlite org_user Admin
完成待处理邀请,使真实受邀者无法使用updateTempUserStatus(..., TmpUserCompleted)完整性(邀请消耗)实验验证。待处理列表为空;sqlite temp status=Completed
对 Viewer/Editor 邀请执行相同加入invite.Role 被原样复制完整性推断。实验使用 Admin
登录后以 Org Admin 身份读写该组织Org Admin API(数据源、仪表盘、用户)侦察 + 完整性推断。实验止于 role=Admin
阴性对照以不同邮箱和空邀请码注册不适用实验验证。invite-org-role=none

此残留已排除的情况:注册关闭的默认安装;邮箱验证开启路径(该路径会检查 form.Code);完成邀请的邮箱绑定(CVE-2022-39306 类,仍然存在);Grafana Admin(isGrafanaAdmin)。不是未认证 RCE。跳过 Grafana G2(IAM SSOSetting k8s authorizer)。

我是如何发现的

我锁定了 Grafana OSS 13.2.3。默认 OSS 在此标准下返回为空。我仍然研究了开放注册路径。POST /api/user/signup/step2 是未认证的。SignUpStep2 创建用户,然后按邮箱加载待处理邀请。仅当 VerifyEmailEnabled 为 true 时才要求 form.Code。

已记录的弯路:重新提交 CVE-2022-39306(完成邀请仍会绑定邮箱);将原版 defaults.ini 视为此残留(其中注册是关闭的);OSS 上的 SCIM 未认证(nil k8s client);反向 shell。都是做戏。

实验

python3 grafana-signup-invite-join-Abraxas-Labs.py

或:

cd lab
./run.sh

目标仅限 http://127.0.0.1:19350。镜像 grafana/grafana:13.2.3,设置 GF_USERS_ALLOW_SIGN_UP=true 且邮箱验证保持关闭。

SUCCESS GRAFANA-SIGNUP-INVITE-JOIN version=13.2.3 invite-org=2 invite-code-len=30 step2-code-sent=empty step2-redirect=redirect-to-select-org api-role=Admin sqlite-role=Admin temp-status=Completed control-invite-org-role=none GRAFANA-SIGNUP-INVITE-JOIN-WITNESS

修复方案

在注册时执行 applyUserInvite 之前,要求提供待处理邀请码或邮箱证明。不要仅凭邮箱匹配就附加 InvitePending 记录。

参考资料

  • github.com/grafana/grafana 标签 v13.2.3
  • signup.go · org_invite.go
  • 相关(非此路径):CVE-2022-39306
  • CWE-862

许可证

GNU Affero GPL v3.0。参见 LICENSE。仅限回环实验环境。无担保。

下载工具