Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Leer una especificación OpenAPI como pentester

5 tareas · 35 min · Principiante

Antes de tocar una API, un pentester pide su especificación: es el mapa de todas las operaciones, los parámetros y la seguridad que el equipo dice haber puesto. Leerla bien ahorra horas y revela sin enviar una sola petición qué operaciones no piden autenticación, qué parámetros son identificadores de objetos y qué mecanismos de acceso conviven. Aquí lees la de Tamarindo Envíos, ya volcada en tablas. La especificación es lo que el cliente declara, no lo que el servidor hace: cada hallazgo de lectura se confirma luego con la prueba autorizada.

0 de 5 · 0%

Objetivo de la sala

Antes de tocar una API, un pentester pide su especificación: es el mapa de todas las operaciones, los parámetros y la seguridad que el equipo dice haber puesto. Leerla bien ahorra horas y revela sin enviar una sola petición qué operaciones no piden autenticación, qué parámetros son identificadores de objetos y qué mecanismos de acceso conviven. Aquí lees la de Tamarindo Envíos, ya volcada en tablas. La especificación es lo que el cliente declara, no lo que el servidor hace: cada hallazgo de lectura se confirma luego con la prueba autorizada.

Una especificación OpenAPI tiene en el bloque de componentes los esquemas de seguridad: los mecanismos que existen, por ejemplo una cabecera con un token o una clave en un parámetro. Eso solo los define. Lo que exige cada operación es el bloque de requisitos de seguridad, que se puede declarar una vez para toda la API y sustituir en una operación concreta. Si una operación declara una lista vacía de requisitos, queda pública aunque el resto exija token.

Por eso leer una especificación es comparar tres cosas: qué mecanismos existen, cuál se aplica por defecto y qué operaciones lo sustituyen.

Responde para continuar

La especificación define dos esquemas de seguridad y declara uno como requisito global. Una operación declara una lista de requisitos vacía. ¿Qué significa?

Ver pista de ayuda

La lista vacía sustituye al requisito global. La operación queda sin exigir credenciales.

Que una operación sea pública no es un hallazgo por sí solo: un seguimiento de paquetes sin cuenta puede ser una decisión de negocio. Lo que importa es qué devuelve. Una operación sin seguridad que entrega datos de personas es un fallo de autenticación (API2) o, según el caso, de configuración.

Consulta operaciones y esquemas_de_datos. Hay dos operaciones públicas: distingue la que devuelve datos de seguimiento sin información personal de la que devuelve datos de clientes.

Responde para continuar

¿Qué operación no exige autenticación y devuelve datos personales de clientes? Escribe su nombre.

Ver pista de ayuda

Ejecuta `SELECT * FROM operaciones` y mira la columna seguridad y lo que devuelve cada operación pública.

Los esquemas de seguridad dicen también dónde viaja la credencial. Una clave en una cabecera se registra menos que una clave en la dirección: las direcciones quedan escritas en los registros de los servidores, de los balanceadores y de los proxies, y en el historial de quien las use. Por eso las guías de seguridad de APIs piden no poner secretos en la URL.

Revisa esquemas_de_seguridad y encuentra el esquema cuya credencial viaja en un parámetro de la dirección.

Responde para continuar

¿Cómo se llama el esquema de seguridad cuya credencial viaja en la URL?

Ver pista de ayuda

Ejecuta `SELECT * FROM esquemas_de_seguridad` y mira la columna donde_viaja.

Una especificación puede estar desactualizada, incompleta o ser optimista: describe lo que el equipo quiso construir. El pentester la trata como una hipótesis que verifica. Si dice que una operación exige token, se comprueba con una petición autorizada y sin token; si dice que no hay más operaciones que las listadas, se compara con el tráfico real del gateway, como en la primera sala.

Una concordancia total entre especificación y comportamiento no la da el documento, la da la comprobación.

Responde para continuar

La especificación dice que obtenerCliente exige token. ¿Cómo lo registras en tu informe antes de probarlo?

Ver pista de ayuda

Lo leído es una hipótesis hasta que el servidor la confirma.

Una de las operaciones públicas de Tamarindo es el seguimiento de una guía: cualquier persona con el número de guía ve el estado de su paquete. En esquemas_de_datos las propiedades de ese esquema son la guía, el estado, la ciudad de destino y la fecha de actualización: ni nombre, ni dirección, ni documento. El hallazgo, si lo hay, no es que sea pública, sino que los números de guía sean fáciles de adivinar, y eso se evalúa aparte.

Responde para continuar

¿Cómo tratas en el informe la operación pública de seguimiento de guías, que no devuelve datos personales?

Ver pista de ayuda

Mira qué propiedades devuelve. Lo público no es un fallo en sí; lo que devuelve y lo fácil de adivinar sí cuentan.

Inicia sesión para registrar tus puntos y progreso en el ranking.

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