本文分享的writeup属于应用逻辑型隐私泄露漏洞(Bug),作者通过Instagram个人设置中备份个人数据的“数据下载”功能,发现下载后的备份资料包中,竟然包含了之前已被彻底删除的图片和消息记录。最终,作者以应用逻辑型隐私泄露Bug向Facebook进行了上报,经过几个来回的协调沟通,Facebook承认了该漏洞并给出了$6000的奖励。以下是作者的漏洞发现历程,一起来看看。
漏洞发现
某天,我在Web找洞的过程中无意对Instagram的个人资料设置进行了简单查看,发现其中的“资料下载”备份功能有点意思,值得研究下,通过该功能可以备份下载包括登录记录、粉丝和关注者、交流消息、照片、搜索支付记录等在内的所有个人Instagram应用信息。
于是,我在Instagram账户中,根据个人设置(Setting) > 账号(Accounts) >隐私与安全(Privacy and Security)的操作,来到了“资料下载”备份功能处:
点击其中的“查看账户数据”(View Account Data),然后执行“要求下载”,在输入必要的凭据信息后,Instagram消息提示,我请求的备份资料会在几个小时后以电子邮件方式发送给我:
大约过了两个小时,我收到了Instagram发来主题为“Your Instagram Data”的邮件,点击即跳转到Instagram登录页面,输入登录密码后,点击“下载资料”按钮就成功下载到了类似以下的zip格式备份包:
解压之后就可看到很多的文件和文件夹,在其中我发现了一些疑惑的东西,比如竟然在其中发现了我早在2013年就删除掉的照片,我当时就有点不解,这是什么情况呢?
这是Instagram备份功能特意的吗?之后,我又在其中发现了很多早已删除的图片,这些都已是6年前就删除掉的图片了!这应该不是偶然。
深入分析后,我发现除了图片之外,也能通过备份资料中的Message.json文件夹查找到早前被删除的聊天记录,而且,即便是四五年前聊天记录中的一些图片或附件,也能通过复制其网页链接的方式在浏览器打开显示。这……。
随后,我决定把该Bug上报给Instagram母公司Facebook:
来回协调
Facebook安全团队:
你好,谢谢你的漏洞上报。我们暂不确定该Bug属于隐私或安全问题,因此,也不能把其列为众测项目范畴。希望你能澄清该Bug对Facebook的用户数据整体性、隐私保护性或架构安全性的影响程度,为谢。
我的回复:
该个人资料备份Bug可还原出用户删除的照片和聊天记录,会对用户隐私和数据完整性造成影响。按理来说,当用户删除了照片和聊天记录后,这些数据就不应该出现在备份下载资料中,否则,Instagram的删除功能又有啥用呢?也就是说,Instagram用户端信息的永久删除功能是有缺陷的,根本就是永久保存功能,这对用户隐私来说就是一个风险问题。Instagram服务端不应该仍然保存着用户删除掉的照片、聊天记录等相关信息。
Facebook安全团队:
谢谢你的说明,我们想进一步了解该Bug,你能提供更多的Bug出现时间点吗?比如,聊天记录删除后是否很快就能在备份资料中出现?
我的回复:
两周前我删除的聊天记录,在我提出备份资料申请后大约7~8个小时就收到了备份资料打包文件,其中包含了完整被删除的聊天记录信息,以及5~6年前我删除的照片。
Facebook安全团队:
谢谢你的回复,我们基于你的发现了解到了更多相关情况。当你从我们的应用平台选择删除了某些数据信息后,它会立即从可见的互联网渠道中被删掉,但是由于我们具备复杂高效的内容分发网络(CDN),因此,利用删除信息的链接方式,还可能访问到这些删除数据或信息。此外,按照我们的数据存储策略来说,完全的删除(包括备份中的删除)需要90天的时间,你可以参考我们的策略说明:https://www.facebook.com/policy/
啊,Facebook安全团队上述的意思就是说该Bug会被无情地评估为一般的“信息”类漏洞,他们完全没明白我的意思。扯什么CDN和90天删除期限,我连5~6年前的照片都能从中恢复出来。
好在第二天Facebook安全团队又回复了我:
你好,我是Facebook安全团队的Megan,抱歉我们把你的上报漏洞搞错了,现在我们正在对其进行重新评估。有新进展,我会及时通知你。
我的回复:
OK,谢谢你们认真评估我的漏洞报告,我觉得它应该属于漏洞众测范畴。
之后,Facebook安全团队又要了我的账号名称、绑定邮箱、备份资料截图、删除后经备份恢复出的照片、删除后经恢复出的聊天记录相关账号信息。后续,我又用另一个Instagram账号,以同样的备份资料方式恢复出了一年前就删除的照片。前后历时三个多月的沟通协调:
2020年1月,Facebook安全团队告知我他们已对该Bug问题进行研究修复。最终,在2020年2月7日,Facebook安全团队给了我一个超大惊喜:$6000美金的奖励!
漏洞上报和处理进程
2019.10.13 漏洞初报给Facebook
2019.10.15 漏洞被Facebook初评为一般的信息级问题
2019.10.22 Facebook重新评估该Bug
2019.11.4 Facebook对该Bug进行分类
2020.2.7 Facebook奖励了我$6000
2020.7.7 Facebook修复漏洞
参考来源:medium
来源:freebuf.com 2020-08-22 22:51:12 by: clouds
请登录后发表评论
注册