Entrada

WebSockets Lab 1

WebSockets Lab 1

Skills

  • Manipulating WebSocket messages to exploit vulnerabilities

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Esta tienda en línea tiene una función de chat en vivo implementada con WebSockets. Los mensajes de chat que enviamos son vistos por un agente de soporte en tiempo real. Para resolver el laboratorio, debemos usar un mensaje WebSocket para activar una ventana emergente con alert() en el navegador del agente de soporte


Resolución

Al acceder a la web nos sale esto

Pulsamos sobre Live chat y vemos que hay un chat de IA. Este tipo de chats suelen ser LLM's, un tipo de modelo de IA entrenado con grandes volúmenes de texto para procesar y generar lenguaje natural. Estos modelos, como ChatGPT, son una subcategoría dentro del NLP (Natural Language Processing) y se especializan en tareas como traducción, resumen, análisis de texto y generación de respuestas

Enviamos un mensaje y capturamos la petición con Burpsuite, vemos que se trata de un websocket y que esta HTML encodeando los mensajes

Sin embargo, esto lo hace del lado del cliente y podemos verlo accediendo al archivo alojado en la ruta /resources/js/chat.js

Modificamos el payload y lo enviamos

Si nos vamos a la web vemos que hemos logrado inyectar código HTML

Enviamos este payload para desencadenar un alert(), con esto podemos comprobar si la web es vulnerable a XSS

Efectivamente la web es vulnerable

Esta entrada está licenciada bajo CC BY 4.0 por el autor.