¿Cuál es el propósito de la MÁSCARA en un WebSocket?

3

Leyendo el Web Socket RFC, en 5.1 dice:

  

un cliente DEBE enmascarar todos los marcos que envía al servidor (ver   Sección 5.3 para más detalles). (Tenga en cuenta que el enmascaramiento se realiza   independientemente de si el protocolo WebSocket se está ejecutando a través de TLS).   El servidor DEBE cerrar la conexión al recibir una trama que no es   enmascarado

pero ¿cuál es el propósito de tal máscara? Si utilizo Wireshark, estoy leyendo el mensaje que el cliente envió sin ningún problema.

    
pregunta yzT 10.02.2016 - 13:47
fuente

1 respuesta

3

El motivo del enmascaramiento es hacer que el tráfico de websocket se vea diferente al tráfico HTTP normal y se vuelva completamente impredecible. De lo contrario, cualquier equipo de infraestructura de red que aún no se haya actualizado para comprender el protocolo Websocket puede confundirlo con el tráfico normal de http que causa varios problemas.

Esto es especialmente un problema para el almacenamiento en caché de servidores proxy y conduce a posibles escenarios de ataque . El tráfico de websocket específicamente diseñado puede provocar envenenamiento de caché al engañar a los servidores proxy para que confundan una parte de la comunicación de websocket con una solicitud y respuesta para una URL no relacionada, la caché como una respuesta legítima y la envía a otros usuarios que solicitan esa URL.

    
respondido por el Philipp 10.02.2016 - 15:41
fuente

Lea otras preguntas en las etiquetas