注:本文为“小米安全中心”原创 ,转载请联系“小米安全中心” 背景 价值: $3000 漏洞原因:postMessage跨域漏洞导致,利用websocket接收用户认证token 原文地址:https…
注:本文为“小米安全中心”原创 请联系“小米安全中心”
背景
价值:3000美元
漏洞原因:使用websocket接收用户身份验证令牌导致的PostMessage跨域漏洞
原始地址:https://labs.detectify.com/2017/02/28/hacking-slack-using-postmessage-and-websocket-reconnect-to-steal-your-precious-token/
基础知识
在理解此漏洞时,我们需要了解以下基本知识:PostMessage
PostMessage的
PostMessage API是一种实现跨域的非常简单的方法。最基本的用法是:
站B的数据数据,发送数据结束

获取数据代码:

PostMessage生成的漏洞
伪造获取数据端
如果发送数据的第二个参数结束使用'*',则表示可以通过任何域获取数据。在这种情况下,只需构造window.addEventListener来接受数据。
伪造发送数据端
看一段代码:

你可以看到收到的message.origin的判断,但是使用的规律性不是标准的(小米安全中心在安全脉冲账号中解决了 转载,请注明源安全脉冲https://www.com/archives/56637.html )
直接使用“wwwaexamplesender.com”,“wwwbexamplesender.com”等绕过,用postMessage向他发送数据
从对等方接收数据时失败
Failure when receiving data from the peer
[注:本文为“小米安全中心”原版 小米安全中心入驻安全脉冲账户发布 转载请注明源安全脉冲]