🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCSRF, peticiones que la persona no eligió
5 tareas · 35 min · Principiante
En un CSRF, el navegador de una persona con la sesión abierta envía una petición que ella no eligió, y el sitio la acepta porque la cookie viaja sola (CWE-352; prueba WSTG-SESS-05 en la guía de OWASP, versión 4.2). No se roba nada ni se rompe ninguna contraseña: se aprovecha que la aplicación no comprueba de dónde viene la acción. Aquí lees el registro de cuatro acciones de la cuenta de Papelería Trapiche, probadas con una sesión de la propia persona evaluadora y una página de prueba de otro origen, y decides cuáles son un hallazgo, cuál importa más y cómo se corrige.
Objetivo de la sala
En un CSRF, el navegador de una persona con la sesión abierta envía una petición que ella no eligió, y el sitio la acepta porque la cookie viaja sola (CWE-352; prueba WSTG-SESS-05 en la guía de OWASP, versión 4.2). No se roba nada ni se rompe ninguna contraseña: se aprovecha que la aplicación no comprueba de dónde viene la acción. Aquí lees el registro de cuatro acciones de la cuenta de Papelería Trapiche, probadas con una sesión de la propia persona evaluadora y una página de prueba de otro origen, y decides cuáles son un hallazgo, cuál importa más y cómo se corrige.Un CSRF necesita tres cosas a la vez: una acción que cambie algo, una sesión que ya esté abierta y un navegador que adjunte la cookie de forma automática a cualquier petición hacia ese sitio. La víctima no entrega nada; solo abre una página o un enlace mientras está conectada. Por eso lo que se prueba es si la aplicación exige algo más que la cookie para aceptar la acción.
Esa condición también marca el límite del hallazgo: sin una sesión abierta, no hay nada que aprovechar. El informe lo dice, porque cambia la probabilidad y por tanto la prioridad.
Responde para continuar
¿Qué condición necesita cumplirse para que un CSRF tenga efecto sobre una persona?
Ver pista de ayuda
La persona no entrega nada: el navegador lo hace por ella.
La defensa estándar es un token anti-CSRF: un valor imprevisible, distinto por sesión o por formulario, que el servidor incluye en la página y exige de vuelta con cada acción que cambia algo. Una página de otro origen no puede leerlo y por eso no puede incluirlo en la petición. Si falta o no coincide, el servidor la rechaza.
Abre formulario.txt y acciones.txt: la acción protegida rechazó la petición sin token.
Responde para continuar
Escribe el nombre del campo oculto con el que la acción protegida comprueba que el formulario es suyo.
Ver pista de ayuda
Está en el formulario de la dirección, dentro de una etiqueta de entrada oculta.
Dos acciones aceptaron la petición sin token. No pesan lo mismo: el impacto depende de qué se puede conseguir con cada una. Para decidirlo se mira qué cambia la acción y qué otras funciones dependen de ello. Un cambio de correo, por ejemplo, tiene consecuencias sobre cualquier función que use ese correo como prueba de identidad.
Lee recuperacion.txt y relaciónalo con acciones.txt.
Responde para continuar
Escribe la acción aceptada sin token que, combinada con la recuperación de contraseña, permite quedarse con la cuenta de otra persona.
Ver pista de ayuda
Entre las dos acciones aceptadas, una cambia el dato al que se envía el enlace de recuperación.
La corrección es un token anti-CSRF verificado en el servidor en cada acción que cambia algo. El atributo SameSite de la cookie de sesión es una capa adicional útil, porque el navegador deja de enviarla en ciertas peticiones entre sitios, pero no sustituye al token. Comprobar solo el método, o esconder la dirección de la acción, no corrige nada: la petición se puede construir igual y la dirección no es un secreto.
Para las acciones más sensibles, pedir otra vez la contraseña actual (como hace la de cambiar contraseña en la evidencia) añade una barrera que el CSRF no puede saltar.
Responde para continuar
¿Qué corrección propones para la acción que cambia el correo?
Ver pista de ayuda
La página de otro origen no puede leer el token de la página del sitio.
La acción de quitar un favorito cambia algo con una petición GET y sin token. Una petición GET no debería cambiar nada: los navegadores, los precargadores y las herramientas la usan sin que la persona lo decida. Corregirla significa pasarla a un método que cambie estado y protegerla igual que las demás. La severidad, en cambio, se razona con el efecto: un favorito quitado se recupera y no da acceso a nada.
Responde para continuar
¿Cómo tratas en el informe la acción de quitar un favorito?
Ver pista de ayuda
Compara qué se pierde y qué se puede recuperar en cada acció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.