Ben Dixon 17 de noviembre de 2022 a las 13:16 UTC
Actualizado: 17 de noviembre de 2022 a las 13:22 UTC
Un estudio de caso de la complejidad de la seguridad del navegador
Los actores malintencionados pueden lanzar ataques de secuencias de comandos entre sitios (XSS) en los subdominios de sitios web si pueden engañar a los usuarios de los navegadores Chromium para que ingresen un comando JavaScript simple en la consola del desarrollador.
Esto es de acuerdo a lo que concluyó el investigador de seguridad. Misha Pentkowski quien presentó sus hallazgos en una publicación de blog publicada ayer (16 de noviembre) titulada Google Roulette.
Aunque el error es difícil de explotar y Google ha decidido no parchearlo, es un caso de estudio interesante en las complejidades de la seguridad del navegador.
Política de la misma fuente y aislamiento del sitio
Los navegadores Chromium tienen muchas protecciones para prevenir ataques XSS. La función de política del mismo origen evita que los scripts en una pestaña del navegador accedan a cookies y datos de otro dominio.
Por otro lado, el aislamiento del sitio proporciona un proceso separado para cada dominio para evitar que diferentes sitios web accedan al espacio de memoria del otro en el navegador.
Sin embargo, debe tenerse en cuenta que el mismo origen y aislamiento del sitio no se aplica a los subdominios.
Por lo tanto, dos pestañas del navegador, por ejemplo, https://workspace.google.com y https://developer.google.com, se ejecutarán en el mismo proceso y se considerarán del mismo padre (google.com).
Scripts de la consola del desarrollador
Los mecanismos de protección del navegador se aplican no solo a los scripts de la página, sino también a los scripts que se ejecutan en la consola del desarrollador del navegador. Sin embargo, la consola del desarrollador puede acceder a ciertas funciones adicionales que no están disponibles para los scripts en la página.
Una de estas funciones es la que establece puntos de interrupción para ciertos eventos, como cuando se llama a una función.
Dos cosas interesantes sobre. Primero, tiene un argumento opcional que le permite reemplazar la función de punto de interrupción con código JavaScript personalizado. Y segundo, cuando usa la consola de desarrollador para definir un evento en una página web, persiste a través de las actualizaciones de la página e incluso navega a otros subdominios del mismo origen en la misma pestaña.
¿Cómo conduces a XSS? Primero, Bentkowski creó una página con dos publicaciones maliciosas.
El primero es la carga útil XSS, que itera sobre los subdominios del padre actual y ejecuta un script de prueba de concepto (en este caso, una ventana emergente).
La segunda es una función getter llamada magic que establece un evento para la función appendChild (que ocurre varias veces durante la carga de la página) y vuelve a cargar la página.
Dado que debe llamarse explícitamente desde la consola del desarrollador, la página muestra un mensaje que solicita al usuario que llame a magic desde la consola del desarrollador. Luego, el ciclo XSS se ejecuta y pasa por cualquier número de subdominios definidos en la función de carga útil.
Puede encontrar un video de prueba de concepto aquí aqui.
influir y reparar
“Lo veo más como un error técnico interesante que como algo que podría explotarse en el mundo real”, dijo Bentkowski. trago diario. «En mi opinión, la interacción del usuario que requiere este ataque hace que no sea factible para los atacantes».
Sin embargo, hay dos escenarios en los que este error puede desencadenarse por preocupación, según Bentkowski.
Primero, sitios web donde los usuarios pueden crear sus propios subdominios. En este caso, el usuario puede crear una página maliciosa y engañar a los visitantes para que ejecuten una función XSS en su subdominio.
El segundo escenario es que hay una vulnerabilidad XSS en un subdominio y el atacante quiere escalarla a otros a través de la consola del desarrollador.
Bentkowski informó el error en 2020; todavía está allí hoy y Google decidió no solucionarlo. “Actualmente, el problema no está asignado a nadie, por lo que no parece que podamos esperar un parche pronto”, dijo Bentkowski.
Sin embargo, Google accedió a permitir que Bentkowski publicara sus hallazgos y le dijo que, dado que el error se puede explotar a través de las extensiones de Chrome, ya no es un problema de seguridad.
Pintkowski escribió: «Todavía creo que puede haber algunas formas de escalar el asunto que no he podido descubrir, y quizás ustedes, queridos lectores, tengan algunas ideas mejores». en su blog.
También te puede interesar Los usuarios de Mastodon son vulnerables a los ataques de robo de contraseña
More Stories
El código en los datos previos al entrenamiento mejora el rendimiento del LLM en tareas que no son de codificación
Un marco para resolver ecuaciones diferenciales parciales equivalentes puede guiar el procesamiento y la ingeniería de gráficos por computadora
Epiroc ha lanzado una nueva plataforma de perforación de producción de pozos largos