🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPruebas de regresión de autorización
5 tareas · 40 min · Principiante
Una matriz de permisos que nadie comprueba es una promesa. La forma de cumplirla es convertir cada celda en una prueba que corre con cada cambio. Constructora Furatena ya tiene esa prueba y siempre sale en verde, pero en dos meses tuvo tres incidentes de autorización. Te entrega la matriz en el formato que leen las pruebas, la prueba, sus cuentas, la última ejecución y la lista de incidentes.
Objetivo de la sala
Una matriz de permisos que nadie comprueba es una promesa. La forma de cumplirla es convertir cada celda en una prueba que corre con cada cambio. Constructora Furatena ya tiene esa prueba y siempre sale en verde, pero en dos meses tuvo tres incidentes de autorización. Te entrega la matriz en el formato que leen las pruebas, la prueba, sus cuentas, la última ejecución y la lista de incidentes.Una prueba de regresión de autorización recorre la matriz y, para cada celda, entra con una cuenta de ese rol, pide esa acción y comprueba el resultado esperado. Lo que la hace útil está en tres detalles. Primero, prueba también los casos negativos: que el contratista reciba 403 al aprobar un pago vale tanto como que la gerencia financiera reciba 200, porque la mayoría de los fallos de autorización son permisos de más, no de menos. Segundo, prueba con al menos dos cuentas del mismo rol sobre objetos distintos, porque el IDOR es un fallo entre iguales que una sola cuenta por rol no puede ver. Tercero, falla cuando una ruta desplegada no tiene caso: una ruta sin prueba es una ruta que nadie decidió.
La guía de pruebas web de OWASP (WSTG) trata la autorización en su propia sección, con pruebas de saltos del esquema de autorización y de escalada de privilegios. La matriz es lo que vuelve esas pruebas repetibles en cada cambio en lugar de hacerlas una vez al año.
Responde para continuar
¿Qué conjunto de casos describe una prueba de regresión de autorización completa?
Ver pista de ayuda
Piensa en qué tipo de fallo produce menos quejas.
Abre prueba_autorizacion.py y lee cómo construye la lista de casos a partir de matriz.csv. Compara después cuántas filas tiene la matriz con cuántos casos dice resultado-ci.txt que se ejecutaron.
Responde para continuar
¿Qué valor de la columna esperado nunca llega a convertirse en caso de prueba?
La prueba de rutas sin caso existe, pero imprime un aviso y pasa. En la ejecución guardada hay varias rutas desplegadas sin ninguna fila en la matriz. Las de lectura son un problema; la que cambia datos, uno mayor, porque cualquier rol que llegue a ella depende de que el controlador recuerde comprobar algo.
Responde para continuar
¿Qué ruta sin caso de prueba cambia datos? Escríbela sin el método.
Abre usuarios_de_prueba.yml: hay una cuenta por rol, y objeto_de_ejemplo siempre le da un recurso propio. Con ese diseño, la prueba nunca pide un objeto de otra cuenta del mismo rol. Lee incidentes.txt y busca el que es exactamente ese caso: un fallo entre dos personas con el mismo rol. Los otros dos también eran evitables, pero con otras pruebas (fallar cerrado cuando la política no responde, decidir con el rol vigente).
Responde para continuar
¿Qué incidente habría detectado una prueba con dos cuentas del mismo rol sobre objetos distintos? Escribe su identificador.
Con lo que encontraste, propón los cambios a la prueba.
Responde para continuar
¿Qué cambios propones a la prueba de autorización de Furatena?
Ver pista de ayuda
Cada cambio útil corresponde a uno de los huecos que viste en las tareas 2, 3 y 4.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.