Hoy en día, las empresas utilizan aplicaciones web internamente con el fin de acelerar el proceso de trabajo de un departamento a otro. A estos sitios solo se accede desde dentro de la red privada de una empresa; es decir, solo los colaboradores de trabajo pueden ser los únicos en acceder a ellas. Es aquí donde podemos ver con más frecuencia las fallas de control de acceso. El control al cual nos referimos alude a quien se encarga de que un usuario sin autenticación pueda acceder a X recurso de la aplicación web. Un usuario no autenticado es una falla crítica para realizar cualquier tipo de transacción en la aplicación, por el simple hecho de que no quedaría registro de la actividad.

Un atacante que identifique esta falla de control de acceso pudiera ocasionar una fuga de información sensible, sin que se tenga luego la manera de identificar quien accedió o descargó X tipo de archivo sensible. Si existiese otro tipo de fallo, como una falta de validación de los archivos que pueden ser cargados en el módulo de carga de archivo de una aplicación web, esto puede generar un inconveniente mayor. Estos dos tipos de fallos pudieran permitir a un atacante descargar una WebShell -un acceso a la consola del servidor con los permisos del servicio web- y una vez que tenga acceso al servidor podrá generar un impacto crítico a la empresa. Esta puede llegar a ser la puerta que permita a un atacante convertirse en administrador de un dominio si no existe una buena implementación de permisos de usuarios a servicios.

Ahora que entendemos cómo puede un atacante lograr acceso a un servidor podemos ver el real problema de una falla de acceso de control. Es por esto que debemos mantener una buena implementación de control de acceso a cada módulo de una aplicación web. Utilizando las mejores prácticas de seguridad y realizando auditorías web a estas aplicaciones internamente se podrá garantizar una buena defensa al momento de neutralizar estos tipos de ataques.