首页 » 漏洞 » Facebook和Dropbox中的CSRF漏洞分析

Facebook和Dropbox中的CSRF漏洞分析

 

Facebook和Dropbox中的CSRF漏洞分析。Facebook给用户提供了一个非常方便的功能,而用户可以通过这个选项直接从Dropbox账号中加载文件:

Facebook和Dropbox中的CSRF漏洞分析

这个功能将允许用户直接在浏览器窗口查看并上传Dropbox账号中的文件:

Facebook和Dropbox中的CSRF漏洞分析

这种功能性的整合是通过OAuth 2.0协议的一个变种版本实现的,具体可参考这篇文章【传送门】。注:OAuth是一种符合国际互联网工程任务组(IETF)标注的访问代理协议。OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHPJavaScript,Java,Ruby等各种语言开发包,大大节约了开发人员的时间,因而OAUTH是简易的。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。OAuth的工作流程如下图所示:

Facebook和Dropbox中的CSRF漏洞分析

通常情况下,客户端会采用下图所示的方法发起认证:

Facebook和Dropbox中的CSRF漏洞分析

接下来,资源的拥有者会对发起请求的客户端进行身份验证,验证完成之后,认证服务器会将验证码发送给客户端:

Facebook和Dropbox中的CSRF漏洞分析

Facebook与Dropbox的整合

Facebook将Dropbox整合进自己的服务之后,Dropbox就成为了发起请求的客户端,而Facebook就是认证/资源服务器。

Facebook和Dropbox中的CSRF漏洞分析

上图所示即为OAuth协议的标准工作流程,此时的资源请求应当由客户端发出,也就是Dropbox,但事实并非如此。请看下图:

Facebook和Dropbox中的CSRF漏洞分析

实际上,客户端(Dropbox)会通过下面的URL将资源拥有者重定向至认证服务器:

https://www.facebook.com/dialog/oauth?display=popup&client_id=210019893730&redirect_uri=https%3A%2F%2Fwww.dropbox.com%2Ffb%2Ffilepicker%3Frestrict%3D100000740415566%26group_id%3D840143532794003&scope=publish_actions%2Cuser_groups%2Cemail&response_type=code

原文链接:Facebook和Dropbox中的CSRF漏洞分析,转载请注明来源!

0