敏感信息泄露+权限控制缺陷=帐户接管

iso60001  1990天前

22.png

大家好,我是来自印度的Md Saqib,是一个刚刚学习信息安全的漏洞猎人。在这篇文章中,我将分享一个hackerone上悬赏项目的帐户接管漏洞。该漏洞是由于敏感信息(auth_token)泄露以及密码修改处的访问控制存在缺陷而导致的。现在,让我们开始吧!

该目标是一个工作门户网站,由于这是一个保密的项目,我们将其称之为redacted.com。一开始,我注册了一个新帐户,只想找到一些CSRF和存储型XSS,但很可惜没有结果,可能是被挖光了吧。于是,我决定找一找是否有IDOR(不安全的直接对象引用)以及程序逻辑方面的漏洞。当我再次创建一个新帐户并逐步检查所发出的请求时,发现网站会首先把用户的电子邮件单独发送给服务器检查它是否已被注册。于是我把这个请求抓取出来,进行重复发包测试。当我输入一个新的电子邮件地址时,响应如下:

33.jpg

嗯,在响应中似乎有一个很有趣的东西。

“redirect_url”:“/?auth_token=_v2_8dsf8as
df12ad4f5a4sdf56as1df65asdf56sd4ff&contact_id=11cb26ae&e
xpire=1152315525”

接着我将电子邮件更改为已经存在的帐户:

44.jpg

好的,现在我得到了一个现有帐户的auth_token,这意味着我可以用这个端点/candidate/create获得任何帐户的auth_token。我马上去burpsuite的历史纪录中查找和auth_token有关的请求,具体如下:

https://redacted.com/?auth_token=d8fs4ds8fdsf84
dsf8dsfads8fasd6f84dsf684dsafccv68f4&contact_id=52z1d5d4
&expire=1152315525

然后我打开浏览器的隐身模式,点击上面的链接! ! !现在,我貌似已登录了受害者的账户!。但是,还没等我兴奋劲消失,我便发现无论点击个人资料、查看电子邮件还是修改密码,都会跳出如下方框:

55.jpg

好吧,我只是看上去登录成功。要进行任何敏感操作都需输入密码进行确认!!

接下来我决定绕过这个密码确认。

虽然我并不能对这个已登录的帐户做任何操作,但我毕竟登录了帐户(说明我现在的cookie和这个帐户相关联)。或许,我可以试试更改这个帐户所绑定的电子邮件,这样我就可以重置密码了!

66.jpg

我先登录自己的帐户,查看更改电子邮件的HTTP请求,发现相关的端点为/api/profile,只要向该端点发送带有JSON格式数据{“email_address”:“mynewmail@gmail.com”}PATCH请求,即可修改帐户绑定的电子邮件。

因此,我利用上一步得到的cookie,以及自己的电子邮件,发送了如下请求:

77.jpg

结果如上图所示,我成功地将受害者绑定的电子邮件更改为我的电子邮件地址。现在,我可以直接通过“忘记密码”的功能直接重置密码,再登录受害者帐户。

88.jpg

当我上报了这个漏洞后,在4天内完成了报告流程,并得到了2500美元的奖励。

而且在上报之后,我还找到了另一个可用于修改帐户绑定的电子邮件的端点/contact/api/update/v1,并再次获得了150美元的奖励。

希望你们喜欢这篇文章!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@sakyb7/tale-of-account-takeover-sensitive-info-disclosure-broken-access-control-cea0a5e3a1fd

最新评论

昵称
邮箱
提交评论