websocket安全漏洞的示例分析

  介绍

这篇文章主要为大家展示了“WebSockets安全漏洞的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WebSockets安全漏洞的示例分析”这篇文章吧。

1。WebSocket

WebSockets广泛用于现代Web应用程序中。它们通过HTTP发起,并通过双向双向通信提供长期连接。

WebSocket用于各种目的,包括执行用户操作和传输敏感信息。几乎与常规HTTP一起出现的任何网络安全漏洞也可能与WebSockets通信有关。

 WebSockets安全漏洞的示例分析

2。HTTP和WebSockets有什么区别?

网页浏览器和网站之间的大多数通信使用HTTP。使用HTTP,客户端发送请求,服务器返回响应。通常,响应立即发生,并且事务完成。即使网络连接保持打开状态,这也将用于请求和响应的单独事务。

一些现代网站使用WebSockets.WebSocket连接是通过HTTP发起的,通常是长期存在的。消息可以随时向任一方向发送,并且本质上不是事务性的。在客户端或服务器准备发送消息之前,连接通常将保持打开和空闲状态。

WebSocket在需要低延迟或服务器启动消息的情况下(例如财务数据的实时提要)特别有用。

3。如何建立WebSocket连接?

WebSocket连接通常是使用客户端JavaScript创建的,如下所示:

 var  ws =, new  WebSocket (“wss://normal-website.com/chat"); 

注意

该<代码> wss 协议建立在一个加密的TLS连接的WebSocket,而<代码> ws 协议使用未加密的连接。

为了建立连接,浏览器和服务器通过HTTP执行WebSocket握手。浏览器发出WebSocket握手请求,如下所示:

 GET /chat  HTTP/1.1
  主持人:normal-website.com
  Sec-WebSocket-Version: 13
  Sec-WebSocket-Key: wDqumtseNBJdhkihL6PW7w==连接:维生,升级
  饼干:会话=KOsEJNuflw4Rd9BDNrVmvwBF9rEijeE2
  升级:websocket 

如果服务器接受连接,则它将返回websocket握手响应,如下所示:

 HTTP/1.1, 101, Switching 协议
  连接:升级
  升级:websocket
  Sec-WebSocket-Accept: 0 ffp + 2 nmnif/h + 4 bp36k9uzrygk=

此时,网络连接保持打开状态,并且可以用于向任一方向发送WebSocket消息。

注意

WebSocket握手消息的几个功能值得注意:

<李>

请求和响应中的连接<代码> 和<代码> 升级标头表示这是WebSocket握手。

<李>

请求头的<代码> Sec-WebSocket-Version> 13> <李>

请求头的<代码> Sec-WebSocket-Key> <李>

响应头的<代码> Sec-WebSocket-Accept> Sec-WebSocket-Key>

4。WebSocket消息是什么样的?

建立WebSocket连接后,客户端或服务器可以在任一方向上异步发送消息。

可以使用客户端JavaScript从浏览器发送一条简单消息,如下所示:

 ws.send (“Peter  Wiener"); 

原则上,WebSocket消息可以包含任何内容或数据格式。在现代应用程序中,JSON通常用于在WebSocket消息中发送结构化数据。

例如,使用WebSockets的聊天机器人应用程序可能会发送如下消息:

 {“user":“Hal  Pline",“content":“小姐:wanted 用be  a  Playstation  growing ,, not  a  device 用answer  your  inane  questions"} 

5。null   null   null   null   null   null   null

websocket安全漏洞的示例分析