Saltar a contenido

05.-Pruebas de autorización

Las pruebas de autorización evalúan si un usuario tiene acceso solo a los recursos y funcionalidades que le corresponden según su nivel de privilegio. Estas pruebas buscan identificar vulnerabilidades que permitan a un usuario acceder o modificar información a la que no debería tener acceso.

Path y Directory Traversal

Esta vulnerabilidad ocurre cuando una aplicación permite a los usuarios interactuar con archivos del sistema sin aplicar restricciones adecuadas. Puede aprovecharse para:

  • Leer archivos sensibles del servidor (configuraciones, logs, bases de datos).
  • Ejecutar comandos remotos si el servidor web tiene permisos elevados.

Ejemplo de ataque Directory Traversal

Si un sistema permite acceder a un archivo con una URL como:

https://ejemplo.com/descargar.php?file=report.pdf

Un atacante podría modificar el parámetro file para acceder a archivos internos:

https://ejemplo.com/descargar.php?file=../../etc/passwd

Si la aplicación no valida la entrada del usuario, podría exponer archivos del sistema.

image-20250227173359022

Evasión del Sistema de Autorización

Se busca determinar si un usuario puede acceder a recursos o funcionalidades restringidas sin contar con los permisos adecuados.

Casos a revisar:

  • Acceso sin autenticación a páginas protegidas.
  • Uso de cuentas de menor privilegio para intentar acceder a funciones administrativas.

Ejemplo

Si un usuario no autenticado puede acceder a:

https://ejemplo.com/admin/dashboard

sin ser redirigido a un login, la aplicación presenta fallos en los controles de autorización.

Pruebas de Elevación de Privilegios

Se intenta incrementar los privilegios de un usuario para acceder a funcionalidades restringidas.

Técnicas utilizadas

  • Manipulación del grupo de usuario
  • Algunas aplicaciones almacenan el rol del usuario en un parámetro modificable (por ejemplo, en la URL o en cookies).
  • Un atacante podría cambiar "role=user" por "role=admin" para ganar privilegios.
  • Manipulación de la dirección IP de origen
  • Algunas aplicaciones otorgan permisos según la IP de acceso (por ejemplo, accesos administrativos desde una red interna).
  • Si la aplicación confía en la cabecera X-Forwarded-For, un atacante podría falsificarla para simular acceso desde una IP privilegiada.

Referencias Inseguras a Objetos de Manera Directa (IDOR)

Este tipo de vulnerabilidad ocurre cuando un usuario puede modificar un identificador en la URL o en una petición HTTP para acceder a datos de otro usuario.

Ejemplo de ataque IDOR

Si un usuario accede a su perfil con:

https://ejemplo.com/perfil?id=1001

Un atacante podría cambiar el ID para acceder a otra cuenta:

https://ejemplo.com/perfil?id=1002

Si la aplicación no valida adecuadamente los permisos, el atacante accederá a información de otro usuario.

Autoevaluación

Pregunta: Si estoy intentando evadir un login en un aplicativo web mediante técnicas de inyección SQL, ¿qué tipo de pruebas estoy realizando?

Pruebas de autenticación (Correcto) ❌ Pruebas de configuración y despliegue ❌ Pruebas de gestión de identidad ❌ Pruebas de autorización

Explicación: Las pruebas de autenticación evalúan si el proceso de inicio de sesión es seguro. La inyección SQL en formularios de login es una técnica para burlar la autenticación y acceder sin credenciales válidas.


Conclusión

Las pruebas de autorización son cruciales para evitar accesos indebidos a recursos y funciones sensibles. Implementar controles estrictos y validar correctamente los permisos de cada usuario ayuda a prevenir fugas de información y escaladas de privilegios no autorizadas.