🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAutorización detallada en aplicaciones y APIs
5 tareas · 40 min · Principiante
Una API puede autenticar bien a todo el mundo y aun así dejar que cada cual vea lo de otro, use funciones que no le tocan o cambie campos que no debería. La autorización detallada se decide en tres niveles: el objeto, la función y la propiedad. La Librería Hojarasca guarda las reglas de su API de pedidos y un registro de las peticiones de la mañana. Lees las reglas, las cruzas con lo que la API respondió y encuentras dónde el servidor dijo que sí cuando debía decir que no. Todo es lectura de registros inventados.
Objetivo de la sala
Una API puede autenticar bien a todo el mundo y aun así dejar que cada cual vea lo de otro, use funciones que no le tocan o cambie campos que no debería. La autorización detallada se decide en tres niveles: el objeto, la función y la propiedad. La Librería Hojarasca guarda las reglas de su API de pedidos y un registro de las peticiones de la mañana. Lees las reglas, las cruzas con lo que la API respondió y encuentras dónde el servidor dijo que sí cuando debía decir que no. Todo es lectura de registros inventados.La lista OWASP API Security Top 10 (edición 2023) pone en los primeros lugares tres fallos de autorización, uno por cada nivel. La autorización a nivel de objeto (API1, BOLA) falla cuando la API entrega un objeto sin comprobar que pertenece a quien lo pide: basta con que el identificador de la petición apunte a otro objeto. La de nivel de función (API5, BFLA) falla cuando una cuenta llama a una operación que no es de su rol, como una función administrativa. Y la de nivel de propiedad de objeto (API3, BOPLA) falla cuando se leen o se cambian campos que esa cuenta no debería tocar.
Que la persona haya iniciado sesión no resuelve ninguno de los tres: estar autenticada solo dice quién es.
Responde para continuar
¿Qué nivel falla cuando una cuenta de cliente llama a una operación reservada al rol de finanzas?
Abre el laboratorio. La carpeta hojarasca trae reglas_api.txt, con la regla de autorización de cada ruta, y registro_api.txt, con diez peticiones de la mañana. En el registro, la columna «dueño» es el dueño del objeto consultado, y la última es el código de respuesta: 200 significa que el servidor entregó o hizo lo pedido, 403 que lo rechazó.
Compara la cuenta que pide con el dueño del objeto y con la regla de la ruta. Busca la línea en que un cliente leyó un pedido que no era suyo y el servidor contestó 200.
Responde para continuar
¿Qué línea del registro es un cliente leyendo un pedido de otro con respuesta 200?
Los reembolsos mueven dinero y la regla de Hojarasca los reserva a un solo rol. En el registro hay dos reembolsos con respuesta 200: uno lo hizo la cuenta correcta y otro no. Fíjate en el prefijo de la cuenta, que dice su rol, y no solo en que el pedido sea o no suyo: ser dueño de un pedido no da derecho a reembolsarlo.
Responde para continuar
¿Qué cuenta de cliente hizo un reembolso que solo le correspondía a finanzas?
El tercer nivel es el más fácil de pasar por alto, porque la cuenta sí puede modificar su perfil: lo que no puede es modificar cualquier campo. Las reglas de la ruta dicen qué campos admite cada rol y cuál no admite ningún rol. En el registro, la columna «campos» dice qué se intentó cambiar.
Responde para continuar
¿Qué línea del registro cambió un campo que ningún rol podía cambiar y respondió 200?
Una revisión útil termina con una cifra: cuántas respuestas fueron un error de autorización. Recorre las diez líneas y cuenta aquellas con respuesta 200 que, según las reglas de la ruta, debieron ser 403. Tiene que contar las de los tres niveles. No cuentes las que el rol de soporte puede hacer legítimamente, como leer pedidos ajenos.
Responde para continuar
¿Cuántas líneas con respuesta 200 contradicen las reglas de autorización?
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.