Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Ataque de las alertas y el script Zombie en Internet Explorer 11




Una nueva investigación muestra como el dueño de una página web puede mostrar popups sin fin al usuario incluso después de que éste ha abandonado ya su página, e incluso peor, ejecutar cualquier tiempo de javascript persistente cuando el usuario ya está en otros dominios. El ataque sólo funciona en IE11, que tiene un 10% de usuarios. De momento no hay solución y el investigador que lo ha descubierto ha dejado de avisar a Microsoft de bugs debido a que sus informes anteriores han sido ignorados. El artículo incluye una demostración (PoC) del bug.





ActiveXObject.


 ¿Ha notado recientemente que todos los navegadores tienen una función para bloquear alertas perpetuas? Tan pronto como se ejecuta una segunda alerta viene con una casilla de verificación para desactivar las siguientes, al igual que esto:



Esto nos da a los malos programadores la posibilidad de salir de los circuitos de alerta sin fin, pero lo que es más importante, permite al usuario defenderse de páginas maliciosas que literalmente bloquean la interfaz con mensajes falsos. Los usuarios tienen ahora la posibilidad de bloquear todas las alertas siguientes marcando esa casilla, pero con el objeto de ventana ActiveX podemos seguir lanzando alertas infinitas sin ninguna manera de escapar de ellas.

 Es importante entender por qué estamos utilizando miembros específicos de este htmlFile / ActiveX (como la forma de obtener su objeto de ventana). De todos modos, vamos a utilizar el método de alerta de ActiveXObject que elimina completamente la preferencia del usuario de "no más alertas por favor!".

Podemos lanzar infinitas pero para esta demostración lo haremos con sólo tres.

doc = new ActiveXObject("htmlFile");
win = doc.Script; // win is the window object of the ActiveXObject
win.alert("Hello");
win.alert("2nd alert, no option to block me.");
win.alert("3rd alert, and still no way out!");
O bien mostrar 10 alertas:
for (var i = 0; i < 10; i++)
{
   doc = new ActiveXObject("htmlFile");
   win = doc.Script; // win is the window object of the ActiveXObject
   win.setTimeout("alert('Hello, world!')", i * 100);
}

[Ver el PoC Live en IE11]


Pero Esto no es impresionante, pero mantendrá ocupado al usuario ya los investigadores sorprendentes. Sé que las alertas no son interesantes y vamos a ser honestos, una vez que el usuario tiene la oportunidad de salir de la página, él estará libre de nuestras alertas horribles, ¿verdad? ¡Incorrecto! Podemos ser persistentes y seguir ejecutando nuestro código incluso después de que él dejó nuestra página. Imagina a un usuario que va a Google tratando de escapar de nosotros, pero sigue recibiendo nuestras alertas

Vamos a hacerlo, no es difícil en absoluto.


Código persistente

Para que nuestro código sea persistente (o un script zombie como algunos lo llaman), necesitamos mantener una referencia al objeto que ejecuta el script y hacer una llamada al método window.open. Esas dos cosas harán IE pensar que no debería destruir el objeto porque todavía hay una referencia a él. Lo bueno es que la referencia puede estar en el objeto mismo!

  •     Guarde una referencia al ActiveXObject.
  •     Utilice el método window.open.

Sólo una cosa más: tenga en cuenta que el uso del método window.open no significa que necesitamos literalmente abrir una ventana / pestaña. De hecho, usaremos un truco muy simple / viejo que aparentemente no hace nada: window.open en la misma ventana con una URL vacía.

Doc = new ActiveXObject ("htmlFile");

// Alerta cada 5 segundos
Doc.Script.setInterval ("alert ('Hola, mundo!')", 5000);

// Guardar una auto-referencia
Doc.Script.doc = doc;

// Utilice el método open. Nada cambia aquí, pero ahora IE no
// destruir la referencia anterior y el script continuará ejecutándose.
Window.open ("", "_ self"); // "No hace nada", pero esta línea es crucial.



¡Eso es! Ahora el usuario puede escribir cualquier cosa en la barra de direcciones, hacer clic en los enlaces o navegar tanto como quiera, pero nuestro script siempre estará con ella hasta que la pestaña esté cerrada. Y por cierto, todo aquí se puede hacer directamente desde dentro de un iframe en un dominio diferente, y todavía funciona.


Fuente:
http://www.brokenbrowser.com/zombie-alert/

0 comentarios :

Publicar un comentario en la entrada

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.