¿Qué es un IDOR?
Un IDOR, o Insecure Direct Object Reference, es una vulnerabilidad que otorga a un atacante acceso no autorizado para recuperar objetos como archivos, datos o documentos. Además, esta vulnerabilidad figura en el top 10 de OWASP de 2021 broken access control.
La vulnerabilidad de IDOR a menudo ocurre bajo la falsa suposición de que los objetos nunca se recuperarán directamente usando su identificador único, sino simplemente a través de la lógica de la aplicación. Por lo general, una aplicación le mostrará solo los objetos que está autorizado a ver y, a menudo, le proporcionará los identificadores necesarios para recuperarlos. Sin embargo, tras la recuperación de dicho objeto, a menudo falta comprobar si el usuario solicitante tiene realmente permiso para acceder al objeto.
¿Qué tipo de IDOR existe?
Esto son los tipos de IDOR que existe:
- Falta de comprobaciones de autorización adecuadas: Esta es la causa más común de los IDOR. Si una aplicación no verifica correctamente si un usuario está autorizado para acceder a un objeto determinado, entonces un atacante puede eludir estos controles y acceder a los datos.
- Entropía insuficiente: si una aplicación utiliza referencias directas a objetos predecibles o fáciles de adivinar, entonces un atacante puede adivinar o utilizar la fuerza bruta para llegar a los datos.
- Permisos incorrectos: si una aplicación establece permisos incorrectos en referencias directas a objetos, es posible que los usuarios no autorizados puedan acceder a los datos.
¿Cómo proceder a explotar?
example.com/user/1 Juan
example.com/user/2 Jose
Una pequeña experiencia ha sido encontrar por medio esta vulnerabilidad, correos, información sensible, credenciales (pocas veces), token, etc.
¿Cuál ha sido mi experiencia más complicada?
Programar una automatización en base64 o algún cifrado para llegar a explotar información.Ejemplo:
example.com/user/c4ca4238a0b923820dcc509a6f75849b
Que la información solo se refleje en el frontend.
¿Cómo explotarlo en la vida real?
IDOR detectado |
IDOR detectado |
¿Cómo encontrar estos parámetros o esta vulnerabilidad?
INFORMACIÓN POR MEDIO DEL BACKEND |
INFORMACIÓN POR MEDIO EL FRONTED |
¿Cuál es el riesgo?
Esta vulnerabilidad es crítica, ya que, a través de parámetros vulnerables, es posible obtener información adicional que facilite la explotación de la plataforma. La misma puede derivar en una inyección SQL, lo que permitiría acceder a información sensible.
No olvides compartir este contenido para que podamos continuar publicando más artículos relacionados.