🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAutenticación de APIs, claves y tokens
5 tareas · 40 min · Principiante
La autenticación de una API responde a una pregunta: quién hace la petición. Lo hace con una clave de API, con un token (a menudo un JWT) o con ambos, y la revisión de un pentester no consiste en romper nada: consiste en leer qué promete cada credencial y comparar con la política del cliente. ¿Cuánto vive? ¿Para qué API fue emitida? ¿Qué permisos lleva? ¿Cuánto tiempo lleva sin cambiarse? Trabajas con los claims de los tokens de las cuentas de prueba de Tamarindo Envíos y con el inventario de claves de sus socios de transporte. Todo es lectura de evidencia.
Objetivo de la sala
La autenticación de una API responde a una pregunta: quién hace la petición. Lo hace con una clave de API, con un token (a menudo un JWT) o con ambos, y la revisión de un pentester no consiste en romper nada: consiste en leer qué promete cada credencial y comparar con la política del cliente. ¿Cuánto vive? ¿Para qué API fue emitida? ¿Qué permisos lleva? ¿Cuánto tiempo lleva sin cambiarse? Trabajas con los claims de los tokens de las cuentas de prueba de Tamarindo Envíos y con el inventario de claves de sus socios de transporte. Todo es lectura de evidencia.Un JWT (RFC 7519) es un conjunto de afirmaciones llamadas claims. Las registradas más usadas son iss (quién lo emitió), sub (de quién es), aud (para qué API fue emitido), iat (cuándo se emitió) y exp (cuándo deja de valer). En el formato habitual el token va firmado, no cifrado: cualquiera que lo tenga puede leer su contenido, y lo que la firma impide es alterarlo sin que el servidor lo note.
La revisión no intenta fabricar tokens. Comprueba, con las cuentas de prueba, que el servidor aplica lo que el token declara: que rechaza los vencidos, que rechaza los emitidos para otra audiencia y que el alcance (scope) es el mínimo necesario. Una clave de API, en cambio, identifica a la aplicación que llama, no a una persona, y no caduca sola: hay que revisar quién la tiene, dónde viaja y cuándo se rotó.
Responde para continuar
Lees los claims de un token de acceso de una cuenta de prueba. ¿Qué compruebas contra la política del cliente?
Ver pista de ayuda
Lo legible no es el problema, es lo normal en un token firmado. Lo que se compara es lo que declara contra la política.
La política de Tamarindo fija una vida máxima de 15 minutos para un token de acceso. Un token de vida larga convierte cualquier filtración (un registro, una copia de seguridad del teléfono, un proxy) en acceso prolongado, y la revocación casi nunca es inmediata. Se mide restando la fecha de emisión a la de vencimiento.
Consulta politica_de_tokens y tokens_de_prueba, y encuentra el token que excede la política.
Responde para continuar
¿Cuál es el identificador del token de prueba cuya vida supera la que fija la política?
Ver pista de ayuda
Ejecuta `SELECT * FROM politica_de_tokens` y `SELECT * FROM tokens_de_prueba`, y compara emitido con vence en cada fila.
Para el informe, la cifra es lo que pesa: «vive demasiado» es opinión y «vive tantos días frente a 15 minutos» es un hallazgo. Calcula la vida del token que excede la política contando los días entre su emisión y su vencimiento.
Responde para continuar
¿Cuántos días vive el token que excede la política?
Ver pista de ayuda
Resta la fecha de emisión a la de vencimiento del token que identificaste en la tarea anterior.
La audiencia (aud) indica para qué API se emitió el token. Si el servidor de envíos acepta un token emitido para la API de pagos, la audiencia no se está validando: cualquier token válido de cualquier API del cliente sirve en todas, y un permiso pensado para un lugar abre otro. Se verifica presentando el token de una API a otra que esté dentro del alcance, una vez, con la cuenta de prueba.
La tabla pruebas_de_audiencia recoge esas presentaciones y compara lo esperado con lo obtenido.
Responde para continuar
¿Qué token fue aceptado por una API para la que no fue emitido?
Ver pista de ayuda
Ejecuta `SELECT * FROM pruebas_de_audiencia` y busca la fila donde lo obtenido no coincide con lo esperado.
Las claves de API de los socios no caducan solas. La política de Tamarindo pide rotarlas cada 180 días y prohíbe ponerlas en la URL. El inventario de claves recoge dónde viaja cada una, cuándo se emitió y cuándo se rotó por última vez. Una clave en la dirección y sin rotación acumula dos problemas: queda escrita en registros de terceros y nadie la ha cambiado desde que existe.
Responde para continuar
¿Qué fecha de emisión tiene la clave de socio que viaja en la URL y nunca se ha rotado?
Ver pista de ayuda
Ejecuta `SELECT * FROM claves_de_socios` y filtra por la columna donde_viaja y por la de última rotació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.