该篇Writeup讲述作者在测试Facebook Messenger iOS App的过程中,发现Messenger iOS App在调用动图消息图标的过程中,会把用户的访问令牌(access token)泄露给第三方动图搜索引擎。以下是作者的发现过程。
漏洞发现
某天,我在测试一个iOS App,但几个小时过去了却一无所获。之后,我想转移下注意力,打算干点其它的。刚好我大学同学通过Messenger发来了一条消息,我打开Messenger应用APP想找个GIF动图表情回复他。此时我电脑里的Burp正在抓包,而其中产生了很多Tenor GIF动图的请求包,我马上深入对其中的请求响应进行了检查,之后,我发现了很多“access_token”被泄露到了Tenor GIF动图请求包中。
也就是说,Facebook Messenger iOS App用户在发送一些GIF动图的过程中,Facebook Messenger iOS App会把用户的“access_token”泄露给Tenor GIF的动图请求,即把用户的Messenger iOS App“access_token”发起送到了Tenor服务端去。此时,我非常高兴,总算有点可报的了。
Access Token
Access Token,访问令牌,是某种请求或登录机制的凭证,用于代表用户在短时间内执行某种身份认证或权限操作的验证性信息。在登录机制中,可以用Access Token来无密码登录相应的用户账户。
之后,我立刻向Facebook安全团队进行了上报。Facebook比较重视,马上在产品线中进行了调查,并在5小时之内就发布了一个临时补丁进行暂时修补。
漏洞上报和处理进程
2020.9.26 漏洞上报 2020.9.28 Facebook调查 2020.9.28 Facebook发布临时补丁 2020.10.6 Facebook完全修复 2020.11.10 Facebook向我奖励了15k$
后续
Facebook调查确定该漏洞未被攻击者利用,之后,并把此前泄露到Tenor请求中的access token定为失效。以下是Facebook对该漏洞给我的回复:
参考来源:medium,编译整理:clouds