有人能解释一下WebSocket握手地址中的Sec-WebSocket是哪一种攻击吗?
我在RFC上不明白,在谷歌上也不明白。
发布于 2016-01-27 02:28:19
维基百科对协议的描述(https://en.m.wikipedia.org/wiki/WebSocket)似乎是最好的总结。
引用如下:
除了升级标头之外,客户端还发送一个Sec-WebSocket-Key报头,其中包含hash 64编码的随机字节,服务器用Sec-WebSocket-Accept报头中密钥的散列进行应答。这是为了防止缓存代理重新发送以前的WebSocket会话25,并且不提供任何身份验证、隐私或完整性。哈希函数将固定字符串258EAFA5-E914-47DA-95CA-C5AB0DC85B11 ( GUID)附加到来自Sec-WebSocket-Key报头的值(未从base64解码),应用SHA-1散列函数,并使用base64对结果进行编码。
编辑:删除关于回放保护的语句,这要感谢Steffen
发布于 2016-01-27 12:41:09
来自IETF的WebSocket常见问题:
通过让客户端发送编码的随机数,并让服务器给出只能由aWebSocket服务器生成的响应,客户机可以验证它们确实是在与WebSocket服务器对话,而不是与其他类型的服务器对话。..。
因此,主要思想是不能使用WebSockets与实际的套接字(如邮件服务器等)对话。这一点很重要,因为通过浏览器,通常可以通过这种方式访问和攻击或误用内部受信任的服务器(发送垃圾邮件)。
除此之外,它还确保没有错误行为的代理返回旧的缓存内容,而不是直接将WebSockets连接传递给服务器。
https://security.stackexchange.com/questions/111843
复制相似问题