Permitir sockets TCP arbitrarios originados en el navegador web significa que un atacante puede usar el navegador como un trampolín para conectarse a servicios arbitrarios en la red local de usuarios . Estos pueden ser, por ejemplo, servidores de correo locales que a menudo están configurados para confiar en cualquier sistema interno para enviar correo y, por lo tanto, pueden ser utilizados incorrectamente para enviar correos de phishing que parecen provenir de un sistema local o simplemente para enviar correo no deseado. Pero también otros servicios podrían verse afectados.
En su lugar, los WebSockets son un protocolo de capa de aplicación sobre TCP. Empiezan con una respuesta-desafío basada en HTTP y continúan con un protocolo que usa marcos que además están xoreados con alguna clave aleatoria previamente establecida. Esto se hace específicamente para que este protocolo no pueda ser mal interpretado por servidores TCP confiados.
¿cómo no son aplicables a los websockets?
Si bien es cierto que los WebSockets se consideran mucho menos peligrosos que los TCP simples, no son inocentes. Si hay una aplicación interna a la que se puede acceder mediante WebSockets, se deben tomar medidas explícitas en el lado del servidor para restringir el acceso a esta aplicación. Los WebSockets no están cubiertos por la política del mismo origen en el navegador, es decir, es posible conectarse de origen cruzado a un servidor WebSocket y cualquier restricción a esto debe emplearse en el lado del servidor. Consulte también Secuestro de sitios web (CSWSH) .