freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

挖洞经验 | Facebook CDN系统中的文件下载漏洞
clouds 2019-06-13 13:00:09 397731

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

91.jpg这篇Writeup分享的是Facebook CDN系统的文件下载漏洞,Facebook CDN平台中的文件名会被以某种加密方法进行编码,当发生请求调用或下载时则指向一个加密字符串作为代替,作者通过破解了这种加密方法,可以任意修改其中与文件名对应的加密串,从而实现CDN系统中文件下载。该漏洞影响Facebook多个公开和内部CDN文件托管平台,以下是相关分享。

漏洞说明

Facebook平台中被选中下载的文件在被执行某种加密算法之后,会以一个加密字符串进行代替。我可以decode这种加密算法并对其生成的加密串进行修改,以指向任意我想下载的文件。目前,这种加密算法广泛应用于Facebook各平台中,考虑到Facebook正在实施修复,在此我就不作过多破解方法透露,待修复完成再做详细讨论。

漏洞复现

Facebook平台基于一些内容分发网络(CDN)来实现用户上传的海量文件存储和分发,这些文件通常包含图片、视频和文档等等。这里,就拿Facebook 的公开CDN系统 scontent.*.fbcdn.net来说,它代表了以scontent开头的一类CDN系统,它负责托管用户上传的大量文件。我们可以先来看看这类CDN系统的托管文件样式:

https://scontent.ftun12-1.fna.fbcdn.net/v/t39.2365-6/21276262_1737282336573228_8492096834724954112_n.jpg?_nc_cat=108&oh=4e4c1ebd627f4a10dbbb3dd05a898499&oe=5D665C03

也就是说,通过这个链接可以下载到其中相关的.jpg文件21276262_1737282336573228_8492096834724954112_n.jpg,注意,这个下载链接中,其jpg文件名或文档ID(file id)为21276262_1737282336573228_8492096834724954112是一个加密串,另外,“oe” 和 “oh”参数对下载文件形成了一个签名,这两个签名参数会随时间和文件权限而改变,目的在于防止对CDN系统的未授权破力枚举下载文件。

拿上述CDN的下载文件21276262_1737282336573228_8492096834724954112_n.jpg来说,经我测试发现,Facebook移动用户可以在Facebook服务端https://lookaside.facebook.com/redrawable/下,通过构造包含有指向下载文件加密串21276262_1737282336573228_8492096834724954112的请求,就能从Facebook的CDN系统scontent.ftun12-1.fna.fbcdn.net中下载到对应文件。因为我已成功破解了Facebook的这种文档ID加密方法,所以,我可以尝试修改这个文档ID加密串以指向其它文件(如音视频文档),实现Facebook CDN系统中的任意托管文件下载。

之后,我把这种方法稍做修改,竟然能成功从Facebook的一些内部(非公开直接访问)CDN系统如interncache-*.fbcdn.net,获取到一些文件,这些文件涉及到了Facebook的部份敏感源代码,以及移动端用户的APP应用崩溃日志等。其中这些内部文件的相关文档ID信息可从一些Facebook开源项目的提交内容中去查找,当然,也可以通过对比分析之前不同版本的Facebook移动APP程序来发现。待Facebook完全修复该漏洞之后,我会再对技术细节做详细披露。

漏洞上报进程

2019.3.26   漏洞初报

2019.4.15    Facebook承认漏洞

2019.4.16    Facebook着手修复漏洞

2019.4.29   Facebook奖励我12500$美金 

相关Facebook CDN漏洞,还可参考《Facebook CDN服务器的XSS漏洞 》。

*参考来源:ysamm,clouds编译,转载请注明来自FreeBuf.COM

# 漏洞 # facebook # CDN
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 clouds 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
clouds LV.9
I'm a robot , don't talk to me , code to me.
  • 348 文章数
  • 612 关注者
挖洞经验 | 获取国际象棋对战网站Chess.com五千万用户信息
2021-02-24
挖洞经验 | 多种针对开启HTTP PUT方法的漏洞利用
2021-02-23
挖洞经验 | 以账户更新方式实现某大公司网站普通用户到管理员的提权
2021-02-22
文章目录