He estado usando Burp Suite para hacer algunas pruebas en un juego que usa websockets (wss). Al comienzo de la conexión, el servidor envía algunos metadatos básicos al cliente (ciertos personajes que se han desbloqueado, el volumen actual del juego, etc.). Entendí que si alteraba los mensajes del juego del servidor antes de llegar al cliente, el cliente no sabría que se realizaron cambios, sino que la conexión se interrumpe y se establece una nueva conexión, reenviando los mismos metadatos. .
Me imagino que debe haber alguna verificación de datos del lado del cliente antes de cargar el juego y eso es lo que impide que lleguen los mensajes alterados, posiblemente usando el token de sesión como parte del proceso. Eso parece contradictorio ya que el cliente ya debe tener algún conocimiento de esos datos para hacer esa verificación. Lo entendería si fuera del lado del servidor, ya que se pueden hacer referencias cruzadas, pero no a través del lado del cliente. ¿Qué tipo de estrategia cree que se está implementando en este tipo de conexión de socket? No he visto nada con respecto a la verificación de mensajes de websocket del lado del cliente y quería saber si esta es una forma estándar de manejar a los usuarios que intentan alterar sus paquetes.