Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Exposición de datos en respuestas

5 tareas · 36 min · Principiante

Una API puede exigir la credencial correcta y aun así devolver más de lo que debe. El caso más común no es un ataque: el servicio serializa el objeto completo de la base de datos y el cliente recibe campos que nadie decidió publicar. En Mayoristas Boquerón comparas el esquema del contrato con una respuesta de muestra, con la clasificación de los datos de la empresa y con un mensaje de error, y localizas lo que sobra. Todo es lectura de archivos ficticios; los valores son marcadores.

0 de 5 · 0%

Objetivo de la sala

Una API puede exigir la credencial correcta y aun así devolver más de lo que debe. El caso más común no es un ataque: el servicio serializa el objeto completo de la base de datos y el cliente recibe campos que nadie decidió publicar. En Mayoristas Boquerón comparas el esquema del contrato con una respuesta de muestra, con la clasificación de los datos de la empresa y con un mensaje de error, y localizas lo que sobra. Todo es lectura de archivos ficticios; los valores son marcadores.

La autorización a nivel de propiedad de objeto (API3:2023 en la lista OWASP API Security Top 10 de 2023) incluye dos fallos: devolver propiedades que el usuario no debería ver y aceptar propiedades que no debería poder modificar. Aquí leemos el primero, la exposición excesiva.

El contrato declara el esquema de la respuesta. Una respuesta real con campos fuera del esquema significa que el servidor devuelve más de lo que prometió, y el contrato dejó de ser una garantía.

Responde para continuar

Una respuesta real trae campos que su esquema no declara. ¿Qué indica?

Ver pista de ayuda

Piensa en lo que decidió publicar cada parte, el contrato o el servicio.

La empresa clasifica sus datos en niveles (público, interno, personal, confidencial, restringido). Un campo restringido en la respuesta de un servicio expuesto a clientes es un incidente en espera. Cruzar el esquema, la respuesta y la tabla de clasificación dice cuál es el más grave.

Responde para continuar

Escribe el campo restringido que aparece en la respuesta de muestra pero no en el esquema del contrato.

Ver pista de ayuda

Compara `muestras/respuesta-verCliente.json` con `contratos/esquema-cliente.yaml` y mira `datos/clasificacion.csv`.

Contar las propiedades fuera del esquema es la medida concreta del desfase entre contrato y servicio. Una prueba automática puede hacer lo mismo: comparar las claves de la respuesta con las del esquema y fallar si hay alguna de más.

Responde para continuar

¿Cuántas propiedades de la respuesta de muestra no están declaradas en el esquema Cliente?

Ver pista de ayuda

Cuenta las claves de la muestra que no aparecen entre las propiedades del esquema.

Los mensajes de error también son datos. Un error que devuelve el detalle de la excepción revela nombres de servidores internos, de cuentas de servicio y de la base de datos: justo lo que un atacante necesita para orientarse. La respuesta correcta a un error es un código y un mensaje genérico; el detalle va al registro interno.

Responde para continuar

Escribe el nombre del servidor interno que revela el mensaje de error.

Ver pista de ayuda

Abre `muestras/error-500.txt`.

La corrección no es borrar tres campos a mano en una respuesta: es cambiar la forma de construirla. Se define una representación de salida propia (un objeto de transferencia) que lista, campo a campo, lo que se publica, y se cierra el esquema para que cualquier campo no declarado sea un error de prueba. Los campos se añaden decidiendo, no por arrastre.

Responde para continuar

¿Qué corrección evita que vuelvan a salir campos de más en las respuestas?

Ver pista de ayuda

Una corrección que depende de acordarse se rompe en la próxima versión.

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