websocket和socketWebSocket安全漏洞及其修复
作者:曾德愚
来源:《数字技术与应用》2016年第09
        摘要: WebSocket使浏览器提供对Socket的支持,在客户端和服务器之间提供基于单TCP连接的双向通道,常用于实时性要求较高的场合,例如证券行情、在线互动游戏及设备同步等方面。但由于架构设计原因,WebSocket也存在不少安全问题,有些漏洞将导致极大的破坏,本文就危害较大的跨站WebSocket劫持漏洞进行原理分析,提出检测及修复方法。
        关键词:WebSocket 漏洞 修复
        中图分类号:TP309 文献标识码:A 文章编号:1007-9416201609-0198-01
        1 序言
        WebSocket高效解决信息实时同步问题之前,一般采用轮询Polling Comet技术,不光造成设计复杂,同时带来系统额外负载。WebSocket较好地解决了此类问题。虽然WebSocket协议在最初设计的时候就充分考虑了安全保障,但任何软件产品都不可能十全十美,
随着其被广泛使用,诸如Wireshark漏洞、Asterisk WebSocket Server DoS漏洞、特别是OpenStack Nova console WebSocket漏洞等安全问题出现,引起了业界对危害较大的跨站WebSocket劫持漏洞的关注。
        WebSocket是持久化协议,提供全双工连接,基于TCP实现消息流,基于HTTP协议进行握手协议连接。在浏览器向服务器端申请切换到WebSocket协议之后,如果服务器端返回101响应,则服务器端基于相同端口完成协议切换,浏览器和服务器端之间可使用WebSocket API传输文本和二进制消息。
        2 漏洞原理
        在创建全双工通信的过程中,客户端基于HTTP握手切换到WebSocket协议,在握手Get请求中,Cookie头部把域名下的Cookie全部发送到服务器端,由于WebSocket协议没有规定服务器在握手阶段认证客户端身份的手段,所以服务器可采用任何身份认证机制,因此给黑客伪造握手请求绕过身份认证提供了极大可能,从而实现跨站请求伪造攻击。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。