IDOR
AltoInsecure 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
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 ...