O atual RFC do Websocket exige que os clientes do Websocket mascarem todos os dados nos quadros ao enviar (mas o servidor não é necessário). A razão pela qual o protocolo foi projetado dessa maneira é impedir que os dados do quadro sejam alterados por serviços maliciosos entre o cliente e o servidor (proxies, etc.). No entanto, a chave de máscara ainda é conhecida por esses serviços (é enviada por quadro no início de cada quadro)
Estou errado ao supor que esses serviços ainda podem usar a chave para desmascarar, alterar e re-mascarar o conteúdo antes de passar o quadro para o próximo ponto? Se não estou errado, como isso corrige a suposta vulnerabilidade?
fonte
O mascaramento é inútil com o
wss://
WebSockets sobre SSL / TLS. Como é recomendável usar SSL / TLS sempre que possível, você pode concluir razoavelmente que o mascaramento cobre um caso de uso marginal.fonte