Explotando IDOR’s

Compartir este artículo:

Las aplicaciones son cada vez más utilizadas en nuestra vida cotidiana, desde compras en línea hasta la gestión de nuestras finanzas personales. Sin embargo, a medida que aumenta la popularidad de estas aplicaciones, también lo hacen las amenazas a la seguridad. Una de estas amenazas es la vulnerabilidad conocida como IDOR, o Insecure Direct Object Reference en sus siglas en ingles.

¿Qué es un IDOR?

Es una vulnerabilidad de seguridad en aplicaciones que ocurre cuando un atacante puede acceder y manipular directamente objetos internos de la misma (como un ID de base de datos o un nombre de archivo) sin la debida autorización. Esta vulnerabilidad es especialmente peligrosa porque puede permitir que un atacante acceda a información confidencial o realice acciones maliciosas en nombre de un usuario legítimo.

Por ejemplo, en un sitio web de comercio electrónico, un atacante podría explotar la vulnerabilidad IDOR para cambiar el precio de un producto o incluso para acceder a los datos de pago de un usuario sin autorización.

Para entenderlo de manera mas gráfica, a continuación tenemos un ejemplo sencillo.

Imaginemos que tenemos a un «Actor» el cual quiere acceder a una aplicación que le ofrece visualizar documentos personales, en la misma el posee un documento con un código identificador «id=1000» y para acceder al mismo, solo basta con visitar la siguiente url ejemplo https://www.ejemplo-idor.com/document?id=1000

Ahora bien ¿que pasa si el usuario cambia el valor del id=1000 por el id=2000 que corresponde a un documento de otra persona?

Al realizar ese cambio y estar presente la vulnerabilidad, lo que va ocurrir es que la aplicación va responder de manera satisfactoria permitiendo el acceso al documento ajeno.

Tips/herramientas útiles para detectar IDOR’s:

Revisar todos los input dentro de la aplicación en busca de identificadores numericos, alfanuméricos o de cualquier Indole que puedan de alguna manera identificar y otorgar propiedad del objeto a un usuario particular
Revisar todo el flujo de la aplicación con dos usuarios diferentes con el fin de identificar estos objetos identificadores únicos que podrían ser afectados por la vulnerabilidad. Una vez detectados cruzarlos, es decir el identificador del usuario A, probarlo en la sesión del usuario B y viceversa

Recomiendo utilizar algún proxy intermedio en las pruebas, como por ejemplo el Burp Suite o el OWASP Zap para poder ver el request y response completo y poder asi encontrar todos los puntos vulnerables posibles
Utilizar plugin auxiliares en los proxy’s mencionados con el fin de automatizar el proceso de detección. Recomiendo el AutoRepeater o el Autorizer de burpsuite.

¿Cómo prevenir IDOR?

La buena noticia es que la vulnerabilidad IDOR es prevenible. Aquí te presentamos algunas buenas prácticas que pueden ayudarte a prevenir IDOR en tus aplicaciones:

  1. Validación de entrada de usuario: Es importante validar cada input realizado por el usuario de la aplicación para asegurarse de que no contenga caracteres malintencionados que puedan explotar la vulnerabilidad IDOR.
  2. Autenticación y autorización adecuadas: Las aplicaciones deben tener mecanismos de autenticación y autorización adecuados para garantizar que los usuarios sólo tengan acceso a la información y funciones que les corresponde.
  3. Utilización de tokens de sesión: Los tokens de sesión son una forma de autenticar y autorizar a los usuarios de forma segura. Al utilizar tokens de sesión, las aplicaciones pueden prevenir ataques IDOR.
  4. Limitación del acceso directo a objetos internos: Las aplicaciones deben limitar el acceso directo a objetos internos, como ID de base de datos o nombres de archivo, y en su lugar utilizar identificadores aleatorios.

En resumen, la vulnerabilidad IDOR es una amenaza real para las aplicaciones, pero con buenas prácticas de seguridad se puede prevenir.

También te puede interesar...

Cómo la IA está cambiando las reglas del bug bounty: ¿Aliado o amenaza para los hunters?

¿Qué es la IA aplicada al bug bounty? La inteligencia artificial dejó de ser un concepto futurista para convertirse en...

El Kraken: Ekoparty Security Conference 2023

Durante la Ultima Edición de la Ekoparty realizada hace unas semanas, tuve la oportunidad de presentar una herramienta en la...

Integrar al bug bounty Github Actions + ELK

Github Actions y ELK (Stack Elastic Search) son herramientas con utilidades totalmente diferentes que con una buena implementación nos pueden...

Cómo la IA está cambiando las reglas del bug bounty: ¿Aliado o amenaza para los hunters?

¿Qué es la IA aplicada al bug bounty? La inteligencia artificial dejó de ser un concepto futurista para convertirse en...

El Kraken: Ekoparty Security Conference 2023

Durante la Ultima Edición de la Ekoparty realizada hace unas semanas, tuve la oportunidad de presentar una herramienta en la...