🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónInserción en marcos y defensa contra el secuestro de clics
5 tareas · 38 min · Principiante
Cualquier página puede pedirle al navegador que muestre otra dentro de un marco. Si la página de dentro tiene botones que actúan con la sesión de quien la ve, la de fuera puede taparla, hacerla transparente y conseguir que la persona pulse algo que no está viendo. Empleos Tangaral, un portal de empleo, recibió el aviso de que «el portal se deja meter en marcos». Se leen las cabeceras de enmarcado de siete páginas, quién las incrusta a propósito y la prueba que ya hizo su equipo de QA, y se decide qué páginas importan y cómo se cierran.
Objetivo de la sala
Cualquier página puede pedirle al navegador que muestre otra dentro de un marco. Si la página de dentro tiene botones que actúan con la sesión de quien la ve, la de fuera puede taparla, hacerla transparente y conseguir que la persona pulse algo que no está viendo. Empleos Tangaral, un portal de empleo, recibió el aviso de que «el portal se deja meter en marcos». Se leen las cabeceras de enmarcado de siete páginas, quién las incrusta a propósito y la prueba que ya hizo su equipo de QA, y se decide qué páginas importan y cómo se cierran.El secuestro de clics (CWE-1021, restricción incorrecta de capas o marcos de la interfaz) no roba nada por sí mismo: usa la sesión de la víctima para que ella misma haga la acción. Para eso hacen falta dos cosas a la vez. La primera, que la página se deje mostrar dentro de un marco de otro sitio. La segunda, que ofrezca una acción que se complete con uno o dos clics, sin escribir nada que la persona tenga que pensar. Una página de solo lectura que se deja enmarcar es una observación menor; una página con un botón que borra la cuenta, no.
Por eso el informe no se escribe como «falta la cabecera en todas las páginas»: se ordena por lo que cada página permite hacer.
Responde para continuar
¿Qué tiene que darse para que el enmarcado de una página sea un hallazgo con impacto?
Ver pista de ayuda
Son dos condiciones a la vez, y ninguna de ellas habla de cookies ni de scripts.
Dos mecanismos le dicen al navegador quién puede enmarcar una página. El antiguo es la cabecera X-Frame-Options, que solo tiene dos valores con efecto: DENY (nadie) y SAMEORIGIN (solo páginas del mismo origen). Cualquier otro valor, aunque parezca razonable y venga en documentación vieja, los navegadores actuales lo descartan, y la página queda como si no trajera la cabecera.
Abre cabeceras-paginas.txt y prueba-marcos.txt, y cruza cada valor de la cabecera antigua con el resultado de la prueba.
Responde para continuar
¿Qué ruta confía en X-Frame-Options y aun así se mostró en el marco de la página de pruebas? Escríbela tal como aparece.
Ver pista de ayuda
Solo dos valores de la cabecera antigua funcionan; busca una página que use un tercero.
El mecanismo actual es la directiva frame-ancestors de la política de contenido (CSP), que acepta 'none', 'self' o una lista de orígenes. Tiene dos detalles que se olvidan: no hereda de default-src, así que una CSP sin esa directiva no limita el enmarcado; y solo se aplica cuando llega en la cabecera de la respuesta, no cuando la página la declara en una etiqueta del HTML.
Responde para continuar
¿Qué ruta declara frame-ancestors donde el navegador no la aplica? Escríbela tal como aparece.
Ver pista de ayuda
Lee la nota que va debajo de la tabla de cabeceras.
Cuando una respuesta trae las dos, los navegadores actuales obedecen a frame-ancestors e ignoran X-Frame-Options; la antigua solo actúa en navegadores que no conocen la directiva. Una página con DENY en la cabecera antigua y una lista en la CSP se deja enmarcar desde esa lista. Eso puede ser lo que el equipo quiere, pero entonces hay que mirar quién está en la lista y qué controla de verdad. Revisa también incrustaciones.txt.
Responde para continuar
¿Desde qué host se puede mostrar /cuenta/ajustes aunque su X-Frame-Options diga DENY? Escribe el host sin esquema.
Ver pista de ayuda
Mira la columna de la CSP de M7 y la última fila de la prueba.
Con la prueba en la mano, tres páginas de la cuenta se dejan enmarcar desde cualquier sitio, y una más desde un host que opera un proveedor y donde los candidatos dejan comentarios con enlaces. La corrección es de configuración: una regla por defecto que niegue el enmarcado en toda el área del candidato, enviada como cabecera desde el servidor o el proxy, con la cabecera antigua de respaldo, y excepciones explícitas y revisadas solo donde haya un uso real.
Responde para continuar
¿Qué recomiendas al equipo de Empleos Tangaral?
Ver pista de ayuda
Revisa lo que encontraste en las tareas 2, 3 y 4.
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.