WebSocket 协议初探( 三 )


Sec-WebSocket-Key/Accept的作用Sec-WebSocket-Key/Sec-WebSocket-Accept 的算法都是公开的,而且也不复杂,仅仅是提供一些基础防护,防止一些意外链接,和恶意链接
[ WebSocket协议:5分钟从入门到精通 ]( www.cnblogs.com/chyingp/p/w… )中已经写得很详细,这边就不做详细探究
数据掩码的作用随着websocket协议被开发出来,一项针对代理服务器的攻击(污染那些广泛部署的缓存代理服务器)实验也开始进行 。一般形式的攻击是跟被攻击者控制的服务器建立连接,并构造一个类似WebSocket握手一样的UPGRADE请求,随后通过UPGRADE建立的连接发送看起来就像GET请求的frame去获取一个已知资源(在攻击场景中可能是一个点击跟踪脚本或广告服务网络中的资源) 之后远程服务器会返回某些东西,就像对于这个伪造GET请求的响应,并且这个响应会被很多广泛部署的网络中间设备缓存,从而达到了污染缓存服务器的目的 。对于这个攻击的产生的效应,可能一个用户被诱导访问受攻击者操控的服务器,攻击者就有可能污染这个用户以及其他共享相同缓存服务用户的缓存服务器,并跨域执行恶意脚本,破坏web安全模型
总结一下,掩码的作用很重要两点就是 防止攻击者获知网络链路中传输的原始数据 和 避免缓存

【WebSocket 协议初探】


推荐阅读