人际关系和网上约会都是相当私密的事情,所以,许多人会选择保密,或者至少只与特定的人分享。而Grindr则是“世界上最大的面向同性恋者、双性恋者、跨性别者和同性恋者的社交网络应用”,这使得它对许多人来说特别敏感。它之所以敏感,不仅是因为使用该网站暗示了一个人的性取向,还因为符合Grindr的目标人群有时会带来非常严重的后果。例如,2014年,埃及警方就曾经使用Grindr来“诱捕同性恋者”,这在一个没有完全跟上LGBT平等步伐的国家特别令人担忧。Grindr数据非常有价值的另一个证明是在去年,当时美国政府认为中国对该服务的所有权构成了国家安全风险。简而言之,Grindr数据非常个人化,由于多种原因,这些数据是非常敏感的。
本周早些时候,我收到了安全研究员Wassime BOUIMADAGHENE发来的推文:
我联系你是因为我向最大的同性恋约会应用程序之一(Grindr)报告了一个严重的安全问题,但供应商一直不理我!我把所有的技术细节都寄给他们了,但还是没有回应。该漏洞使得攻击者能够劫持任意帐户。
他希望获得帮助,以披露他认为非常严重的安全漏洞,显然,他撞墙了。我要求提供详细的技术信息,以便我可以验证他的主张的真实性,随后,他将相关信息及时给了我。从表面上看,情况看起来很糟糕:只需轻而易举的攻击,就能帐户的接管。但是,虽然我想验证攻击的真实性,同时又不想侵犯任何人的隐私,因此,我向Scott Helme寻求支持:
Scott在过去处理过很多类似的安全问题,加上几年前他也帮我解决了Nissan Leaf的披露问题,所以,我们认为他很乐意帮忙。我所需要的只是让Scott创建一个账户,并告知所使用的电子邮件地址,就这里来说,该地址为[email protected]。
帐户接管从Grindr密码重置页面开始:
我输入了Scott的地址, 在提交了一个验证码后收到了以下响应:
在这里,重置令牌是关键,所以,我把它复制到剪贴板上,然后再粘贴到下面的URL中:
https://neo-account.grindr.com/v3/user/password/reset?resetToken=Isg6zl3q5fZsyAnAB8OCdnRgBSIYfpKkCO0O4pP1WLN0pwuClUqX24ImrLc6bb7T7DWSyFMG5lREHQmS4CsFR5uh8GEYQxF6Z6V5hsi3vSTuilXzgKRRItwdDIjmSWdq&[email protected]
在这个URL中,我们可以看到令牌和Scott的电子邮件地址。任何人都可以通过创建自己的Grindr账户,然后执行密码重置,来查看收到的电子邮件内容,这个太轻松了。当加载该URL时,我被提示设置一个新的密码并提交验证码:
就这样,密码就被修改了。
于是,我登录了该账户,但马上就出现了下面的画面:
咦,原来你需要这个应用?好吧,那就通过app登录吧。
然后……我就登录进去了!
这样,我们就全面接管了账号。这意味着可以访问原来Grindr账户持有人所能访问的一切,比如,他们的个人资料照片(我马上改成了更合适的照片)。
一会儿后,Scott开始收到一些私人信息,既有个人会面的请求,也有爆照的请求:
与Luke的对话很快就走下坡路了,我无法在此重现,但想到那段对话(如果他发了照片)会被未知的第三方访问,这是非常令人担忧的。再考虑一下Grindr收集的个人信息的范围,就像Scott的信息一样,只要知道他的电子邮件地址就能访问他的帐户,其中任何已填写的字段都会立即显示出来:
几年前,当人们发现Grindr会将用户的HIV信息发送给第三方时,就登上了新闻头条,考虑到这些数据的敏感性,这是理所当然的。这次问题更加严重,因为任何可以利用这个简单缺陷的人都可以轻松地访问大量隐私数据。
至于登录的网站,如果不使用手机应用程序的话,就无法登录了吗?现在我已经使用Scott的新密码登录了应用程序,随后的尝试则允许我自己授权登录请求:
这样,我也可以登录网站了:
这是我见过的最简单的账户接管技术之一。我无法理解为什么重置令牌会在匿名发出的请求的响应正文中返回。攻击的简单程度低得令人难以置信,影响却是巨大的,所以显然这是一个需要认真对待的问题……
但事实并非如此。发现该漏洞的人已经将相关的细节提交给了Grindr的工作人员,他们应该在9月24号就知道了这一切。Grindr支持代表说,他已经“将其上报给我们的开发人员”,并立即将该问题标记为“已解决”。我的联系人第二天跟进并要求更新状态,得到的却是不理不睬。第二天,他试图联系工作人员的电子邮件地址,等待5天后,仍然没有收到回应,于是联系了我。他还分享了一张他试图通过Twitter DM联系Grindr的截图,就像其他报告漏洞的尝试一样,后者也被置若罔闻。
所以,我试着自己找Grindr的安全人员:
谁能帮我联系上@Grindr的安全小组人员?
— Troy Hunt (@troyhunt) October 1, 2020
我意识到,发这样一条推文必然会引起各种各样的回应,因为这暗示了Grindr存在某种安全缺陷。我之所以公开发送推文,是因为私下接触都失败了。后来,一个朋友在推特上给我发消息:
我不知道Grindr的推特账号有无存在必要, 既然你都公开发推了,相信不久他们就会联系你的
下面就是为什么我没有DM他们的原因:
这条路尝试过,但失败了,我认为他们的Twitter账号公开回复我的唯一原因是因为我的推文引起了很多人的关注。
我的推文发出后,很多人立即联系我,并提供了Grindr安全小组的联系信息。我转发了原始报告,在推文发布的大约一个半小时内,易受攻击的资源就离线了。不久之后,他们的工作人员又找到了一个解决方案。公平地说,Grindr,尽管他们对需要处理的安全报告的分类有待改进,但在我设法与合适的人员取得联系后,他们的反应堪称典范。当infosec journo Zack Whittaker联系他们时,他们的回应如下:
我们感谢研究人员发现了一个漏洞。报告的问题已修复。值得庆幸的是,我们相信在这个问题被任何恶意团体利用之前,我们已经解决了这个问题。作为我们致力于提高我们服务的安全性和安全性的一部分,我们正在与一家领先的安全公司合作,以简化和提高安全研究人员报告此类问题的能力。此外,我们将很快宣布一项新的漏洞奖励计划,为研究人员提供额外的激励,以帮助我们保护未来服务的安全。
总而言之,这是一个非常严重的漏洞,但是处理结果还是不错的:Grindr在我与他们联系后做得很好,我相信他们在处理安全报告方面会做出一些积极的改变,当然,这个错误已经修复了。同时,Scott也结交了一些新朋友。
本文翻译自:https://www.troyhunt.com/hacking-grindr-accounts-with-copy-and-paste/如若转载,请注明原文地址: