Manipulating WebSocket messages to exploit vulnerabilities – PortSwigger Write Up

En este post vamos a estar resolviendo el laboratorio de PortSwigger: “Manipulating WebSocket messages to exploit vulnerabilities.”


La aplicación de laboratorio es un sitio web de tienda que ofrece soporte de chat. Después de cargar la página, voy directamente a la función de chat. Así que empiezo a molestar al agente:


El intercambio de mensajes se ejecuta a través de WebSockets, yo envío mensajes al servidor y el servidor devuelve lo que sea necesario escribir en el chat de mi lado (incluido un espejo de mis propios mensajes):


Así que pongo el mensaje en el repeater y empiezo a jugar: Si vemos el código html, no hay una sanetización de las etiquetas html, entonces podemos empezar a lanzar un xss mediante etiquetas html en nuestros mensajes.


Aparentemente, no hay sanetización como hemos mencionado anteriormente de los datos de entrada. Suponiendo que la vista del agente es similar, intento ejecutar un script a través de una etiqueta <img>.


Por supuesto, a medida que se refleja el contenido, también aparece esa ventana emergente, lo que confirma que funcionó al menos de mi parte:



Y de esta forma hemos resuelto el laboratorio:



¡Un saludo y espero que os sirva de apoyo!