挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息

本文分享的writeup属于应用逻辑型隐私泄露漏洞(Bug),作者通过Instagram个人设置中备份个人数据的“数据下载”功能,发现下载后的备份资料包中,竟然包含了之前已被彻底删除的图片和消息记录。最终,作者以应用逻辑型隐私泄露Bug向Facebook进行了上报,经过几个来回的协调沟通,Facebook承认了该漏洞并给出了$6000的奖励。以下是作者的漏洞发现历程,一起来看看。

漏洞发现

某天,我在Web找洞的过程中无意对Instagram的个人资料设置进行了简单查看,发现其中的“资料下载”备份功能有点意思,值得研究下,通过该功能可以备份下载包括登录记录、粉丝和关注者、交流消息、照片、搜索支付记录等在内的所有个人Instagram应用信息。

于是,我在Instagram账户中,根据个人设置(Setting) > 账号(Accounts) >隐私与安全(Privacy and Security)的操作,来到了“资料下载”备份功能处:

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息点击其中的“查看账户数据”(View Account Data),然后执行“要求下载”,在输入必要的凭据信息后,Instagram消息提示,我请求的备份资料会在几个小时后以电子邮件方式发送给我:

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息大约过了两个小时,我收到了Instagram发来主题为“Your Instagram Data”的邮件,点击即跳转到Instagram登录页面,输入登录密码后,点击“下载资料”按钮就成功下载到了类似以下的zip格式备份包:

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息解压之后就可看到很多的文件和文件夹,在其中我发现了一些疑惑的东西,比如竟然在其中发现了我早在2013年就删除掉的照片,我当时就有点不解,这是什么情况呢?

这是Instagram备份功能特意的吗?之后,我又在其中发现了很多早已删除的图片,这些都已是6年前就删除掉的图片了!这应该不是偶然。

深入分析后,我发现除了图片之外,也能通过备份资料中的Message.json文件夹查找到早前被删除的聊天记录,而且,即便是四五年前聊天记录中的一些图片或附件,也能通过复制其网页链接的方式在浏览器打开显示。这……。

随后,我决定把该Bug上报给Instagram母公司Facebook:

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息

来回协调

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账号,以同样的备份资料方式恢复出了一年前就删除的照片。前后历时三个多月的沟通协调:

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息2020年1月,Facebook安全团队告知我他们已对该Bug问题进行研究修复。最终,在2020年2月7日,Facebook安全团队给了我一个超大惊喜:$6000美金的奖励!

挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息

漏洞上报和处理进程

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论