Facebook CDN系统中的文件下载漏洞

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漏洞 》。

为您推荐

cdnfly节点到源服务器配置内网IP不生效怎么办

cdnfly节点到源服务器配置内网IP不生效怎么办 登陆CDNfly管理后台 找到全局配置 Nginx 配置 全局中的,...

CDNFLY如何刷新授权?

CDNFLY如何刷新授权?刷新授权,授权到期了怎么办?cdnfly刷新授权 如何授权到期,或者在授权前安装程序,可以登录...

cdnfly开心版一键搭建脚本

cdnfly开心版一键搭建脚本-转自网络   1.主控服务器 web目录为验证文件,请自行搭建 0.0.0.0...

什么是CDN?

一、CDN常见多级缓存 ​1、CDN概念​ CDN的全称是Content Delivery Network,即内容分发网...

影响CDN加速的三大因素

数字化转型的趋势下,企业纷纷将业务平台转移到互联网上,但过去的网站配置明显不能满足现有的访问量,常常造成访问拥堵、页面加...
返回顶部