本文讲述的漏洞涉及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
1.百度打上黑客然后去一些黑客论坛里招版主。在问。2.去一些QQ群。去问。但是别去黑客群。要去就去各种编程破解群。 楼主你走入了一个误区。真正的黑客不会整天执着于DDOS,盗号,抓鸡的。黑客的定义其实...
ATM作业原理.word 0x11111111DNAME记载不再解析GQBL列表中主机的恳求。 SerializerSession session) where TBufferWriter : IB...
宝宝小时候最害怕的就是营养不足,还有的宝宝在小时候会得疳积的症状,疳证与麻疹、惊风、天花并称为儿科四大症。下面友谊长存的小编就来说说:宝宝疳积的症状有哪些 宝宝疳积要多久才能好。 宝宝疳积的症状...
在本文中,咱们将与咱们共享怎么运用PHP字符串解析函数绕过IDS/IPS以及运用防火墙规矩。 咱们都知道,PHP会将(在URL或body中的)查询字符串转换成$_GET或许$_POST中的相关数组。比...
新华社喀布尔12月6日电(记者陈鑫)阿富汗政府方面6日证实,阿安全部队5日在南部坎大哈省和东部帕克提卡省开展军事行动,共打死26名塔利班武装分子。 阿国防部在一份声明中说,安全部队自5日起在...