Nuevos labs cada semana — Accede a todos desde 5€/mes

IDOR

Alto

Insecure Direct Object Reference

Definición

Insecure Direct Object Reference (IDOR) es una vulnerabilidad de control de acceso donde la aplicación expone referencias directas a objetos internos (como IDs de base de datos) sin verificar que el usuario tenga autorización para acceder a ellos. Un atacante puede manipular estas referencias para acceder a datos de otros usuarios.

Impacto

Acceso a datos personales de otros usuariosModificación de perfiles, pedidos o configuraciones ajenasDescarga de documentos confidenciales de otros usuariosEliminación de recursos de otros usuariosEscalada de privilegios horizontal

Ejemplos

IDOR en endpoint de perfil

El servidor no verifica que el token del usuario autenticado corresponda al ID solicitado. Simplemente devuelve los datos del ID proporcionado, permitiendo acceso a cualquier perfil.

# Petición legítima (mi perfil, ID 1001)
GET /api/users/1001/profile
Authorization: Bearer <mi_token>

# Cambio el ID para acceder al perfil de otro usuario
GET /api/users/1002/profile
Authorization: Bearer <mi_token>

# El servidor devuelve los datos del usuario 1002 sin verificar autorización

IDOR en descarga de documentos

Los identificadores de factura son predecibles y secuenciales. El atacante puede descargar facturas de cualquier usuario simplemente cambiando el número en la URL.

# Descargo mi factura
GET /api/invoices/download/INV-2024-0051
Authorization: Bearer <mi_token>

# Itero para descargar facturas de otros usuarios
GET /api/invoices/download/INV-2024-0001
GET /api/invoices/download/INV-2024-0002
...

Practica IDOR con labs reales

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

Ver labs de práctica