Insecure Direct Object Reference (IDORs): Prueba de Concepto y Explicación
Las Insecure Direct Object References (IDOR) son un tipo de vulnerabilidad de seguridad que se presenta cuando una aplicación web emplea identificadores internos (como números o nombres) para identificar y acceder a recursos, como archivos o datos, sin validar adecuadamente la autorización del usuario para acceder a ellos.
Por ejemplo, si una aplicación web utiliza un identificador numérico para identificar un registro en una base de datos, un atacante puede intentar adivinar este identificador y acceder a los registros sin la debida autorización. Esto puede permitir a los atacantes acceder a información confidencial, modificar datos, crear cuentas de usuario no autorizadas y realizar otras acciones maliciosas.
La vulnerabilidad IDOR puede surgir cuando una aplicación web no implementa controles de acceso adecuados para los recursos que gestiona. Por ejemplo, una aplicación puede validar el acceso mediante autenticación y autorización para los recursos que se muestran en la interfaz de usuario, pero no aplicar la misma validación para los recursos que se acceden directamente a través de una URL.
Para explotar una vulnerabilidad IDOR, un atacante puede intentar modificar manualmente el identificador de un objeto en la URL o utilizar una herramienta automatizada para probar diferentes valores. Si el atacante encuentra un identificador que le permite acceder a un recurso que no debería estar disponible, entonces la vulnerabilidad IDOR se ha explotado con éxito.
Por ejemplo, supongamos que un usuario ‘A’ tiene un pedido con el identificador numérico 123 y el usuario ‘B’ tiene un pedido con el identificador numérico 124. Si el atacante intenta acceder a través de la URL «https://example.com/orders/124«, la aplicación web podría permitir el acceso a ese pedido sin validar si el usuario tiene permiso para acceder a él. De esta manera, el atacante podría acceder al pedido del usuario ‘B’ sin la debida autorización.
Para prevenir la vulnerabilidad IDOR, es crucial validar adecuadamente la autorización del usuario para acceder a los recursos, tanto en la interfaz de usuario como en las solicitudes directas a través de URL. Además, se recomienda restringir los permisos de acceso a los recursos y mantener actualizado el software y los sistemas operativos.
PoC
La aplicación permite al usuario crear un archivo PDF y recuperar el archivo con el identificador que se le asigna:
Para explotar e intentar acceder a otros documentos indexados, usaremos burpsuite que nos ayudaría a automatizar la tarea de borrar. Aunque mas adelante veremos con hacerlo con Wfuzz.
Hemos podido acceder al documento perteneciente a algún otro usuario eludiendo los controles de acceso de la aplicación.
De la misma manera lo podemos hacer mediante Wfuzz inficando con FUZZ donde queremos que haga fuzzing.
Eliminamos los chars que se repiten hasta que nos salga el resultado esperado.
Y como vemos nos arroja 3 documentos creados previamente por usuarios, incluido el que he creado yo, el 356.

.png)