Facebook存在漏洞,攻击者可创建不可见的帖子
2021-01-12 17:39:58 Author: www.freebuf.com(查看原文) 阅读量:163 收藏

一位安全研究人员证实,可在未经授权的情况下,在任意Facebook页面上创建不可见的帖子。在Facebook发布补丁后,该研究人员又迅速绕过了补丁。借此,该研究人员从Facebook获得了3万美元的漏洞赏金。

该研究人员Pouya Darabi表示,利用该漏洞的攻击者可以在另一个组/个人/页面中共享一篇帖子,并且该帖子将显示为源于受害者的页面。

攻击者甚至可以在Facebook验证过的页面上植入恶意帖子。Darabi指出,“用户信任这些网页,因为他们知道这些网页是官方认可的。”

以Facebook自己的社交媒体页面易受攻击为例,他补充道:“用户可以确定网站地址(facebook.com),并点击该页面,他们将再次进入Facebook官方页面,因此该页面的合法性毋庸置疑。

Darabi利用Facebook的Creative Hub中的一个严重安全漏洞构造了exp,两个exp分别获得了1.5万美元的赏金。

营销人员可以在Creative Hub中模拟广告,创建“不可见”的帖子(这意味着这些帖子在Facebook页面上不公开),以便在发布之前通过直接链接预览并与同事私下分享这些广告。

“页面管理员无法查看或删除它们,因为它们没有任何链接。”Darabi在一篇概述其发现的博客文章中指出。

在他自己的Facebook页面上创建了一个不可见的帖子后,该研究人员劫持了Facebook创建帖子的请求,并将page_id切换到了假想受害者的page_id。该更改被适当地保存,没有任何错误或问题。

“在生成预览之前检查了权限”表明Facebook认为Darabi对目标页面拥有合法的广告客户角色。

该研究人员接着表示,Creative Hub最近添加了一个用于与同事共享模型预览的功能,单击共享按钮后,该API将使用一个新的可共享URL进行响应,如下所示:https://www.facebook.com/ads/previewer/__PREVIEW_KEY__。

问题是在共享页面上生成预览帖子之前,权限检查丢失了。

Darabi补充道,“在GraphQL请求中保存模型之前更改page_id,然后获取它的可共享链接,使我们能够在任何页面上创建帖子。我们需要做的就是找到任何广告预览端点上存在的post_id。最后,我们在受害者不知情的情况下在其页面上创建了一个不可见的帖子!该共享功能还允许我们在不发送链接的情况下进行攻击。”

Darabi随后利用一个请求绕过了Facebook的补丁,该请求AsyncRequest.post('/ads/previewer/notify_mobile/__PREVIEW_KEY__',{})创建了一个帖子页面并向他的移动设备发送了一条通知。

“发送到手机”功能随后在没有检查权限的情况下再次创建了一个预览页面。

研究人员于11月6日向Facebook报告该漏洞,后者于11月11日实施了第一次修复。

但是该研究人员在11月12日通知Facebook该补丁可被绕过,该广告和社交媒体巨头于11月20日推出了最终的补丁。

Facebook称尚未发现该漏洞遭到滥用的证据。

在对Darabi的回应中,该平台表示,如果该漏洞允许攻击者创建可见的帖子,那么该漏洞赏金金额会更高。

作者:Adam Bannister
来源:Port swigger


文章来源: https://www.freebuf.com/vuls/260589.html
如有侵权请联系:admin#unsafe.sh