Laxman Muthiyah是一名来自印度的Facebook安全研究人员,他最近在这个目前最热门的社交网络的网站上发现了今年的第三个漏洞,这个漏洞允许攻击者在一天的时间内,就可以接触到大约十亿名用户的相关数据。
在今年年初的时候,Laxman就在Facebook Graphs API上发现了一个严重的安全漏洞,这个漏洞允许攻击者在不经过身份验证的情况下,可以查看或删除任意用户的Facebook中的相册。你可以将Facebook Graph API理解为一个可以访问Facebook数据的Web服务。该API提供了对人员,相册,事件等等Facebook对象以及这些对象之间诸如朋友,标签,分享内容等等连接之间的访问。当输入一个URL后,会返回一个Json对象 。Graph API是开发人员读写用户数据的主要方式。目前所有的Facebook应用程序使用的都是Graph API。Laxman Muthiyah 曾利用实验帐号进行过测试,结果他发现他竟然能够轻松瞒过Facebook,然后删除非本人相册中的相片,而且Laxman Muthiyah 甚至还把这些心得写在了个人网站上:“如果你在 Facebook 上的相簿设定为公开,那么我就有办法把它删除。”
就在一个月之后,Laxman又在Facebook的相片同步功能中发现了另一个严重的漏洞,这个漏洞会使你的手机自动将照片上传至你私人的Facebook相册之中,你的Facebook好友或其他的Facebook用户是无法查看这个相册的。
然而,Laxman所发现的这个漏洞可以允许任意的第三方app访问隐藏的Facebook同步相册,并从中窃取你的私人相片。
现在,Laxman所发现的那个最新漏洞能够允许攻击者控制你的Facebook页面。
这一次,Laxman所发现的问题出现在“Facebook的商务广告页面”中,但这个漏洞并不针对单独的用户账号。
然而,通过这个漏洞,Laxman可以允许第三方app在权限受到限制的情况下得到Facebook商业页面的完整控制权。
第三方的Facebook应用程序可以执行一系列的操作,其中包括发布用户的当前状态以及发布照片等操作。但是Facebook并不允许这些用户添加或修改页面的管理角色。
manage_pages是第三方应用程序在请求访问权限的时候所要使用到的界面,Facebook允许页面管理员通过manage_pages将不同的角色分配给组织中不同的人。
然而,根据Laxman的描述,攻击者可以尝试使用一个简单的请求字符串来使他自己变成某一特定Facebook页面的管理员。
请求字符串如下所示:
在这里,页面的PGID属于business B,但是攻击者可以通过manage_pages请求使用户‘X’变成一个页面的管理员(即分配管理员身份)。
这也就意味着,仅仅改变请求参数中这么一个小小的地方,就可以允许攻击者得到你Facebook主页的完整控制权限。
Laxman将这个漏洞的详细信息报告给了Facebook的安全团队,Facebook公司按照漏洞奖励计划的相关规定,给他颁发了2500美金作为奖励。
尽管Facebook公司已经修复了这个漏洞,但从这一事件中你应当学到:在为任意的第三方应用程序授予权限时,你必须时时刻刻都要保持警惕。
(责任编辑:腰编辑)