El RFC actual de Websocket requiere que los clientes de websocket enmascaren todos los datos dentro de los marcos cuando se envían (pero no se requiere que el servidor lo haga). La razón por la cual el protocolo fue diseñado de esta manera es para evitar que los datos maliciosos sean alterados por servicios maliciosos entre el cliente y el servidor (proxies, etc.). Sin embargo, la clave de enmascaramiento aún es conocida por dichos servicios (se envía por cuadro al comienzo de cada cuadro)
¿Me equivoco al suponer que dichos servicios aún pueden usar la clave para desenmascarar, alterar y volver a enmascarar el contenido antes de pasar el marco al siguiente punto? Si no me equivoco, ¿cómo soluciona esto la supuesta vulnerabilidad?
fuente
El enmascaramiento es inútil con
wss://
aka WebSockets sobre SSL / TLS. Como se recomienda utilizar SSL / TLS siempre que sea posible, puede concluir razonablemente que el enmascaramiento cubre un caso de uso marginal.fuente