¿Qué es el Broken Access Control?
El Broken Access Control es un término que abarca un conjunto de vulnerabilidades relacionadas con el control de acceso a sistemas. Estas vulnerabilidades permiten que usuarios no autorizados accedan a recursos o información restringida. Un ejemplo común es cuando un usuario puede acceder a los archivos de otro usuario debido a malas configuraciones en los permisos.
En este contexto, exploraremos específicamente la vulnerabilidad IDOR (Insecure Direct Object Reference), una variante del Broken Access Control que explota la falta de restricciones adecuadas al acceder a recursos específicos identificados por un parámetro.
¿Cómo se explota una vulnerabilidad IDOR?
Para explorar y entender esta vulnerabilidad, utilizamos una máquina virtual de TriHackMe, llamada Wasp Top 10, que contiene un conjunto de vulnerabilidades comunes, incluyendo el Broken Access Control.
El proceso para explotar esta vulnerabilidad se desarrolla de la siguiente forma:
-
Iniciar la máquina virtual: Una vez que la máquina se encuentra en funcionamiento, se muestra la dirección IP que debemos activar en Kali, un navegador utilizado para ingresar a la aplicación vulnerada.
-
Acceso a la aplicación web: Tras configurar adecuadamente el VPN para garantizar el acceso a la plataforma de TriHackMe, se accede a la aplicación web mediante la dirección IP proporcionada. Aquí, se requiere autenticación con un usuario llamado Nut y una contraseña, test1234
.
-
Manipulación del URL: Una vez dentro, el usuario puede manipular el URL para acceder a información a la cual, por defecto, no debería tener acceso. La aplicación tiene un archivo llamado note.php
con un parámetro note=1
. Si se cambia este valor, por ejemplo, a note=2
o note=0
, se puede acceder a la información de otros usuarios.
Este ejemplo resalta la falta de un control de acceso robusto que permita modificar datos de otros usuarios simplemente manipulando los parámetros transmitidos mediante métodos HTTP, como GET y POST.
¿Por qué es importante entender las vulnerabilidades de acceso?
El conocimiento sobre vulnerabilidades como IDOR no solo es crucial para mejorar la seguridad de las aplicaciones, sino también para entender los riesgos a los que están expuestas. La explotación de estas vulnerabilidades se considera una forma de escalación de privilegios, ya que se accede a datos o funciones que deberían estar restringidas, todo sin la necesidad de una contraseña.
Recomendaciones
-
Validación y control de acceso: Implementar verificaciones robustas y controles de acceso en todos los puntos donde se manipule información sensible.
-
Revisiones periódicas: Realizar auditorías y pruebas de penetración para identificar y corregir posibles fallos de seguridad.
-
Educación continua: La capacitación sobre ciberseguridad es fundamental para identificar vulnerabilidades en fases tempranas del desarrollo.
Las vulnerabilidades de tipo IDOR son un recordatorio vital de la importancia de la seguridad en el desarrollo de software. Al entender y mitigar estos riesgos, se pueden proteger mejor los datos y mantener la confianza de los usuarios. ¡Continúa aprendiendo y reforzando tus habilidades en seguridad informática! Te esperamos en la siguiente clase para explorar más sobre cómo adivinar contraseñas en distintas plataformas.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?