Bypassing CSP en 2024: técnicas modernas de explotación XSS
Análisis en profundidad de técnicas actuales para evadir Content Security Policy y explotar XSS en aplicaciones modernas.
Introducción
Content Security Policy (CSP) es uno de los mecanismos defensivos más utilizados para mitigar ataques XSS. Sin embargo, una configuración incorrecta—o incluso aparentemente correcta—puede ser eludida utilizando técnicas modernas.
1. Bypass mediante dominios confiables en script-src
Cuando el CSP permite cargar scripts desde dominios de confianza que también sirven contenido controlado por el usuario, el juego está ganado.
Content-Security-Policy: script-src 'self' https://cdn.trusted.com
Si `cdn.trusted.com` permite subir archivos JavaScript, podemos alojar nuestro payload allí y cargarlo como script legítimo.
2. JSONP y la trampa del callback
Muchas APIs legacy exponen endpoints JSONP donde el nombre del callback viene del parámetro de query. Si el dominio está en el CSP:
https://api.trusted.com/data?callback=alert(document.domain)//
El servidor responde con `alert(document.domain)//({"data": "..."});` — XSS conseguido.
3. Bypass vía DOM clobbering
Cuando el CSP permite `unsafe-eval` o hay gadgets de eval en librerías cargadas legítimamente:
<a id="config" href="javascript:alert(1)">
<a id="config" name="url" href="javascript:alert(1)">
4. nonce mal implementado
Un nonce reutilizado o predecible rompe la protección completamente. Los nonces deben ser criptográficamente aleatorios y únicos por solicitud.
Conclusiones
La seguridad basada en CSP requiere:
- Auditoría regular de todos los dominios permitidos en `script-src`
- Eliminación de `unsafe-inline` y `unsafe-eval`
- Nonces criptográficamente fuertes y únicos
- Monitorización de informes CSP (`report-uri`)
¿Tienes este tipo de vulnerabilidades?
Realizamos auditorías completas para identificar y remediar XSS, CSP bypass y otras vulnerabilidades críticas.
Solicitar auditoría