导语:近期,安全研究员测试了一款安全通信软件——Slack,在其中发现了一枚漏洞,攻击者可由此窃取用户的访问token并掌控用户账户。

0.jpg

随着信息安全的不断普及,越来越多的用户开始有意识要保护好自己的信息安全,大部分用户已经开始选择使用加密性比较好的通信软件进行交流,公司也开始使用安全性能良好的通信软件。

近期,安全研究员测试了一款安全通信软件——Slack,在其中发现了一枚漏洞,攻击者可由此窃取用户的访问token并掌控用户账户。

漏洞赏金猎人Frans Rosen在浏览器上使用Slack进行通信时发现了这一漏洞,并成功演示可利用该漏洞窃取用户的访问token。

我可以创建一个恶意页面,然后重新将你的网页版Slack WebSocket连接到我自己的WebSocket,然后从中窃取你的Slack token。Slack反应非常迅速,在漏洞提交之后的五个小时内便将其修复了,并支付了我3000美元的奖金。

Slack使用的postMessage存在安全问题

Slack使用的技术是postMessage,允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。通常情况下,只有网页之间通过相同协议(都是用https)、相同端口(https默认443端口)、相同的host。

使用window.addEventListener(‘message’, func) 和window.postMessage()在跨域之间传递信息是一种非常好用的方法,但是同样也有一个非常可怕的弊端——它不会核查不同域传递过来的信息。

Slack在使用 postMessage时,没有核对不同域之间传递的信息,所以才导致这一漏洞的存在。Rosen发现这一问题之后立即进行了验证,可以利用这一漏洞窃取用户的访问token。

源链接

Hacking more

...