Falta el control de acceso de nivel de función

La mayoría de las aplicaciones web verifican los derechos de acceso a nivel de función antes de hacer que esa funcionalidad sea accesible para el usuario. Sin embargo, si no se realizan las mismas comprobaciones de control de acceso en el servidor, los piratas informáticos pueden penetrar en la aplicación sin la debida autorización.

Comprendamos los agentes de amenazas, los vectores de ataque, la debilidad de la seguridad, el impacto técnico y los impactos comerciales de esta falla con la ayuda de un diagrama simple.

Ejemplo

Aquí hay un ejemplo clásico de control de acceso de nivel de función faltante:

El hacker simplemente fuerza las URL de destino. Por lo general, el acceso de administrador requiere autenticación; sin embargo, si el acceso a la aplicación no está verificado, un usuario no autenticado puede acceder a la página de administración.

' Below URL might be accessible to an authenticated user
http://website.com/app/standarduserpage

' A NON Admin user is able to access admin page without authorization.
http://website.com/app/admin_page

Las manos en

Step 1 - Permítanos iniciar sesión como administrador de cuenta revisando primero la lista de usuarios y sus privilegios de acceso.

Step 2 - Al probar varias combinaciones podemos descubrir que Larry tiene acceso al administrador de cuentas de recursos.

Mecanismos preventivos

  • El mecanismo de autenticación debe denegar todos los accesos de forma predeterminada y proporcionar acceso a roles específicos para cada función.

  • En una aplicación basada en flujo de trabajo, verifique el estado de los usuarios antes de permitirles acceder a cualquier recurso.