本文讲的是
Slack应用中存在一个漏洞,攻击者可控制受害者账户,
随着信息安全的不断普及,越来越多的用户开始有意识要保护好自己的信息安全,大部分用户已经开始选择使用加密性比较好的通信软件进行交流,公司也开始使用安全性能良好的通信软件。
近期,安全研究员测试了一款安全通信软件——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。
原文发布时间为:2017年3月6日
本文作者:張奕源Nick
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。