🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPedir y responder — la gramática de la web
3 tareas · 20 min · Principiante
Llevas dos salas usando los números 200 y 404 sin que nadie te haya dicho qué son. Aquí se explica la conversación entera, y de paso las tres formas en que se le puede hacer daño a un sistema.
Objetivo de la sala
Llevas dos salas usando los números 200 y 404 sin que nadie te haya dicho qué son. Aquí se explica la conversación entera, y de paso las tres formas en que se le puede hacer daño a un sistema.Cada vez que abres una página pasa lo mismo: tu navegador pide algo y el servidor responde. Nada más. Toda la web está construida sobre ese intercambio, repetido millones de veces por segundo.
La petición dice tres cosas: qué quieres hacer, sobre qué, y quién eres (si es que lo dices).
- Qué hacer es el método.
GETes «dame esto» yPOSTes «toma esto». Casi todo lo que haces navegando es unGET; enviar un formulario suele ser unPOST. - Sobre qué es la ruta.
/agenda-internaes una ruta. - Quién eres es opcional, y ahí estuvo el problema de la clínica: nadie lo exigía.
La respuesta empieza siempre por un número de tres cifras que resume qué pasó. Ya los conoces sin saberlo:
| Número | Qué significa | Dónde lo viste |
|---|---|---|
| 200 | Aquí lo tienes | Las rutas que sí existían |
| 404 | Eso no existe | Los miles de intentos fallidos del escaneo |
| 403 | Existe, pero no para ti | Lo que la clínica debería haber respondido |
| 500 | Me rompí yo | — |
El 403 es el que faltaba en esta historia. Un servidor bien configurado habría contestado 403 en /agenda-interna: la página existe, pero tú no eres nadie para verla. Contestó 200.
Ida
Vuelta
Responde para continuar
¿Qué debería haber respondido la clínica en `/agenda-interna`?
Ver pista de ayuda
Esconder que existe no es lo mismo que impedir el acceso. Ya sabes cómo acabó lo de esconder.
Hay una cosa rara en esta conversación: el servidor no se acuerda de ti. Cada petición llega como si fuera la primera. Es el diseño original de la web y no cambió nunca.
Entonces, ¿cómo sabe una tienda que tú eres el que puso cosas en el carrito hace cinco minutos? Porque en la primera respuesta te dio un papelito con un número —una cookie— y tu navegador lo enseña en cada petición siguiente. El servidor no te recuerda: tú le recuerdas quién eres cada vez.
De ahí salen dos ideas que sostienen media seguridad web:
Quien roba ese papelito, es tú. No necesita tu contraseña. Si consigue tu cookie de sesión, la enseña y el servidor le cree, porque el servidor no sabe distinguir.
Cada petición se comprueba sola. Como el servidor no se acuerda, tiene que preguntarse en cada petición si quien llega tiene derecho. Si lo comprueba al entrar y luego ya no, cualquiera que salte la entrada queda dentro para siempre.
Eso es, exactamente, lo que pasó en la clínica: nadie preguntó nada en /agenda-interna porque se dio por hecho que quien llegara ya habría pasado por otro sitio.
Responde para continuar
¿Por qué robar una cookie de sesión es tan grave como robar una contraseña?
Ver pista de ayuda
La cookie no guarda tu clave. Guarda la prueba de que ya la diste.
Ya tienes el vocabulario para nombrar lo que pasó, y para ver que podría haber sido peor de otras dos maneras. En seguridad se resumen en tres palabras, y se aplican a cualquier sistema:
Confidencialidad — que lo privado siga siendo privado. Es lo que se rompió en la clínica: la agenda del día salió sin permiso. Nadie cambió nada, nadie apagó nada; simplemente alguien vio lo que no debía.
Integridad — que los datos sean los que deben ser. Imagina que en vez de mirar la agenda, el atacante hubiera cambiado una cita: mover a un paciente de hora, borrar una cirugía. Nadie se entera hasta que alguien no aparece. Suele ser peor que la filtración, porque la filtración se nota y la manipulación no.
Disponibilidad — que el sistema esté cuando hace falta. Si la agenda no abre un lunes a las 8 de la mañana, la clínica no atiende. No hizo falta robar nada.
Las tres juntas son lo que se protege. Y fíjate en algo: el mismo fallo puede afectar a una, a dos o a las tres. El de la clínica rompió la confidencialidad. Si esa pantalla además permitiera editar, rompería también la integridad — y sería mucho más grave sin que la vulnerabilidad cambiara en nada.
Responde para continuar
Un atacante cambia la hora de una cita sin que nadie lo note. ¿Qué se rompió?
Ver pista de ayuda
No se llevó nada ni tumbó nada. Alteró.
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 academia no funciona de forma segura.
Analíticos
Hoy no activos en la academia; 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 academia; quedarán listos si los conectamos y solo si los permites.