即时通讯安全:跨站点WebSocket劫持漏洞

WebSocket 作为 HTML5 的新特性之一格外吸引着开发人员的注意,因为它的出现使得客户端(主要指浏览器)提供对 Socket 的支持成为可能,从而在客户端和服务器之间提供了一个基于单 TCP 连接的双向通道。对于实时性要求比较高的应用而言,譬如在线证券、在线游戏,以及不同设备之间信息同步。信息实时同步一直是技术难题,在 WebSocket 出现之前,常见解决方案一般就是轮询(Polling)和 Comet 技术,但这些技术增加了设计复杂度,也造成了网络和服务器的额外负担,在负载较大的情况下效率相对低下,导致应用的可伸缩行收到制约。对于此类应用的开发者来说,WebSocket 技术简直就是神兵利器,读者可以登陆 websocket.org 网站观看特色案例,以及它提供的 WebSocket 和 Comet 的性能对比分析报告。最近几年内 WebSocket 技术被开发人员广泛应用到各类实际应用中。

即时通讯安全:跨站点WebSocket劫持漏洞_第1张图片

不幸的是,WebSocket 相关的安全漏洞也逐步被披露出来,其中最容易发生的就是跨站点 WebSocket 劫持漏洞。本文将深入浅出为读者介绍跨站点 WebSocket 漏洞的原理、检测方法和修复方法,希望能帮助广大读者在实际工作中避免这个已知安全漏洞。

WebSocket 协议握手和安全保障

为了便于阐述跨站点 WebSocket 劫持漏洞原理,本文将简单描述 WebSocket 协议的握手和切换过程。建议有兴趣的读者阅读 RFC 6455 规范,深入学习 WebSocket 协议。

跨站点 WebSocket 劫持漏洞原理

你可能感兴趣的:(websocket,安全,网络)