声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 |
博客新域名:https://gugesay.com
背景介绍
今天分享一位来自印度的独立安全研究员 Nauman Khan 的故事,他通过Auth0的错误配置,顺利获得1600美元赏金奖励。
关于Auth0
Auth0 是网站和应用程序广泛使用的身份验证平台,用于管理用户身份并确保安全访问其服务。它提供各种工作流来无缝集成登录和注册流程。
错误配置
在 Auth0 中创建新应用程序时,默认情况下会启用注册选项,但如果配置不当,该默认设置可能会带来安全风险,比如系统禁用了注册但实现了 Auth0 功能,则有可能绕过注册限制。
利用过程
通过搜索 Auth0 身份验证的 API 文档,成功发现了一处端点,允许用户使用对 /dbconnections/signup 的 POST 请求进行用户注册。但该端点需要特定参数:
-
client_id:请求访问 Auth0 服务的应用程序的唯一标识符
-
connection:指定用于身份验证的身份提供者
-
email:用户的电子邮件地址
-
password:符合配置的密码策略的所需密码
复现步骤
-
访问应用程序的登录页面
-
在登录表单中输入构造的电子邮件和密码
-
使用 Burp Suite 拦截请求
-
点击提交按钮,发送登录请求
-
在 Burp Suite 中分析拦截的登录请求,提取以下参数:client_id、connection 以及其他所需的参数值
-
将拦截的请求发送到Burp Suite的Repeater
-
将请求路径从 /usernamepassword/login 更改为 /dbconnections/signup
-
在请求正文中将参数名称从用户名修改为电子邮件(因为端点仅接受电子邮件参数)
-
发送修改后的请求
-
使用新创建的凭据登录应用程序
通过以上步骤,攻击者可以利用Auth0中的错误配置绕过注册机制,从而创建未经授权的帐户并获得对应用程序的访问权限。
原文始发于微信公众号(迪哥讲事):一个$1600的漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论