Cross-site leaks

Esto se hace mediante un conjunto de reglas denominadas política del mismo origen.

Esto puede ser utilizado por un atacante para conocer las acciones previas del usuario en el otro sitio web.

Los investigadores han descubierto nuevas filtraciones dirigidas a varios componentes del navegador web.

La introducción y supresión de funciones en Internet también hace que algunos ataques pierdan eficacia.

Desde 2023, también se han descubierto ataques más recientes que utilizan los sistemas operativos y los límites del navegador web para filtrar información.

[2]​ A menudo, los usuarios interactúan con la aplicación web durante largos periodos de tiempo, realizando múltiples peticiones al servidor.

Si se revelan a otros sitios web, estos atributos identificables podrían desanonimizar al usuario[4]​.

A pesar de estas restricciones, las aplicaciones web a menudo necesitan cargar contenido de fuentes externas, como instrucciones para mostrar elementos en una página, diseños y vídeos o imágenes.

[9]​ Las fugas entre sitios permiten a los atacantes eludir las restricciones impuestas por la política del mismo origen y el marco CORS.

Utilizando estos canales laterales, un atacante puede ejecutar código capaz de deducir detalles sobre datos que la política del mismo origen habría protegido[10]​.

Estos datos pueden utilizarse para revelar información sobre las interacciones previas de un usuario con una aplicación web[11]​.

Una vez que la víctima se encuentra en el sitio web del atacante, éste puede utilizar varias técnicas de incrustación para iniciar peticiones HTTP de origen cruzado a la URL identificada por el atacante[15]​.

El ataque empleaba una técnica en la que la entrada se manipulaba para aumentar el tamaño de las respuestas, lo que provocaba un aumento proporcional del tiempo necesario para generar las respuestas, incrementando así la precisión del ataque.

Dependiendo del estado de la aplicación víctima, esta URL debe proporcionar al menos dos respuestas.

Esto permite al atacante distinguir entre las respuestas y obtener información sobre el estado de la aplicación víctima.

[35]​[36]​ Las filtraciones entre sitios comprenden una gama muy variada de ataques[37]​ para los que no existe una clasificación establecida y uniforme.

[32]​ Normalmente se descubren nuevas técnicas debido a cambios en las API de la plataforma web, que son interfaces de JavaScript que permiten a los sitios web consultar el navegador para obtener información específica.

demostraron que la Performance API[Nota 4]​ podía filtrar la presencia o ausencia de redirecciones en las respuestas.

Al hacer que la aplicación web víctima ejecutara JavaScript que utilizaba estos recursos compartidos y, a continuación, cronometrar cuánto tardaban estas ejecuciones, los investigadores pudieron revelar información sobre el estado de una aplicación web.

[59]​[60]​ Los límites globales, también conocidos como ataques pool-party, no dependen directamente del estado de la aplicación web víctima.

La aplicación subyacente autentica al usuario basándose en las cookies que se adjuntan a la solicitud y realiza una búsqueda textual de la información privada del usuario utilizando una cadena proporcionada en un parámetro GET.

Dado que el icono sólo se almacena en caché si la aplicación víctima devuelve al menos un resultado, el atacante puede determinar si la aplicación víctima ha devuelto algún resultado para la consulta en cuestión.

Este enfoque limitaba el uso compartido de enlaces y era poco práctico.

[18]​[70]​ La mayoría de las defensas modernas son extensiones del protocolo HTTP que impiden los cambios de estado, hacen que las peticiones entre orígenes sean apátridas o aíslan completamente los recursos compartidos entre múltiples orígenes.

Esto significa que si un sitio web carga y almacena en caché un recurso, la solicitud almacenada en caché está vinculada a una clave única generada a partir de la URL del recurso y la del sitio web solicitante.

Si otro sitio web intenta acceder al mismo recurso, la solicitud se tratará como un fallo de caché a menos que ese sitio web haya almacenado previamente en caché una solicitud idéntica.

[84]​ Este enfoque se observa en defensas como el encabezado obsoleto X-Frame-Options y la directiva más reciente frame-ancestors en los encabezados Content-Security Policy, que permiten a la aplicación víctima especificar qué sitios web pueden incluirla como marco incrustado.

[86]​[90]​[91]​ Uno de los enfoques más efectivos para mitigar las filtraciones entre sitios ha sido el uso del parámetro SameSite en las cookies.

Una vez configurado como Lax o Strict, este parámetro evita que el navegador envíe cookies en la mayoría de las solicitudes de terceros, haciendo que la solicitud sea apátrida.

[93]​ En 2020, los creadores del navegador Chrome anunciaron que activarían SameSite=Lax como estado predeterminado para las cookies en todas las plataformas.

Datos sin procesar del ataque de temporización de caché analizado en § Ejemplo. Cuando el particionamiento de caché está desactivado, se puede distinguir claramente entre las respuestas almacenadas en caché y las no almacenadas, mientras que, con el particionamiento de caché, los dos tiempos de respuesta se solapan. [ 71 ] respuesta en caché respuesta sin caché