freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

挖洞经验 | 通过一次性登录漏洞获取Workplace用户绑定邮箱
clouds 2021-01-07 16:48:14 297208

本文讲述的漏洞涉及Facebook的办公通讯应用Workplace,攻击者只需知晓用户ID即能通过存在漏洞的服务端获取到其绑定的注册邮箱。漏洞在于Workplace某个使用一次性密码(one-time nonce )执行用户登录的服务端,其在登录流程中对过期的一次性密码处理不当,导致后续跳转的URL路径中会包含用户的注册邮箱。以下是作者的发现过程,一起来看看。

漏洞情况

近期,Facebook的办公通讯应用Workplace引入了一项新的用户登录机制,用户只需输入绑定的注册邮箱,即会在邮箱中收到Workplace发来的一次性登录链接。用户点击该链接后,会携带用户ID和随机生成的一次性密码(one-time nonce )跳转到一个登录服务端。然而,经我测试发现,在该登录服务端中,若一次性登录链接中随机生成的一次性密码(one-time nonce )是过期状态,则点击该一次性登录链接后会,其后续跳转的URL路径中会返回用户的绑定注册邮箱。(Workplace生成的一次性登录链接中包含了用户ID)

分析来看,该登录流程中可能存在不安全的直接对象引用(IDOR)漏洞,即攻击者可以更改其中的用户ID就能轻松地获取到对应用户的绑定注册邮箱。问题原因主要是缺乏必要的权限限制,可从以下两方面作出改进:
1、需要对一次性密码(one-time nonce )的状态做出明确的提示。这里当一次性密码是过期状态时,服务端的登录逻辑是在跳转URL中返回对应用户ID的用户邮箱,以便向用户邮箱重新发送另一个一次性登录链接。而整个流程中却缺乏对一次性密码状态的检查机制;
2、可以在该登录流程中添加一个参数来完善,可在该参数中以HASH形式请求后端,形成对参数名值的安全校验,同时这样也可避免同一个用户生成多个登录nonce,造成混淆。

漏洞复现

1、访问https://TARGET.workplace.com/;
2、在其中的邮箱登录区域输入任意邮箱地址;
3、用Burp对上述过程抓包,发现其对应的POST请求路径为/work/landing/do/new/;
4、更改POST请求路径为/work/signin/magic_link/login/,并在其请求内容中添加字段:
body nonce=RANDOM&uid=TARGET_ID&request_id=RANDOM,其中TARGET_ID为Workplace用户的用户ID,RANDOM为任意字符;
5、POST请求发出后,服务端在返回的响应内容中就包含了对应用户ID的绑定邮箱。

漏洞危害

该漏洞可造成的危害是,如果攻击者知晓Workplace受害者用户的用户ID,就可利用该方法获取到其注册的绑定邮箱。整个漏洞利用过程非常简单,攻击者可对特定用户形成信息获取,且若对用户ID形成字典式的积累,也能利用该漏洞批量式地枚举获取大量用户注册邮箱。

漏洞上报和处理进程

2020.11.26 漏洞上报
2020.11.27 Facebook确认漏洞有效性
2020.12.9   Facebook修复漏洞
2020.12.14 Facebook给出了$5K的奖励


参考来源:ysamm,编译整理:clouds,转载请注明来自Freebuf.com

# 一次性登录 # Workplace漏洞
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 clouds 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
web安全
clouds LV.9
I'm a robot , don't talk to me , code to me.
  • 348 文章数
  • 611 关注者
挖洞经验 | 获取国际象棋对战网站Chess.com五千万用户信息
2021-02-24
挖洞经验 | 多种针对开启HTTP PUT方法的漏洞利用
2021-02-23
挖洞经验 | 以账户更新方式实现某大公司网站普通用户到管理员的提权
2021-02-22
文章目录