Google Chrome close() issue

07 julio 2009 Publicado por cLimbo
##############################
Google Chrome close() issue
Vendedor: http://www.google.com/chrome/ = artículo http://lostmon.blogspot.com/2009/07/google-chrome-close-issue.html
##############################


Versión Chrome: 2.0.172.33 (Oficial)
URL (es aplicable):
Otros navegadores probados:
Safari 4: OK
Firefox 3.x: OK
IE 7: OK
IE 8: OK


¿Qué medidas producen el problema?

1 - Abrir una página web
2 - vaya a otra página.

Google Chrome automáticamente cierra la pestaña y si tenemos sólo un tab, se cierra el proceso de Chrome


¿Cuál es el resultado esperado?

Que Google Chrome no se cierre o su prompt

¿Qué sucede entonces?

Google Chrome cierra la ficha o si sólo tenemos un tab lo cierra también sin ningún tipo de confirmación.

###########
Resumen
###########

Para probar esto se necesita un servidor web instalado, y un poco de paciencia XD

#############
Prueba 1
#############

Crear un documento HTML y escribir en él lo siguiente:

<html><body onload='close()'></body></html>
guardar como test1.html in c:\test\ para probar.

1.1 - Abrir google chrome y una vez abierto ejecutad el archivo como manejador
file:///c:/test/test1.html y observaréis que Chrome no cierra la ventana y nada desaparece


1.2 - Abrir el archivo en una zona de confianza a través de la intranet
htttp: / / localhost/test/test1.html o a través de ip
http://192.168.1.100/test/test1.html Chrome no cierra la ventana y nada desaparece


1.3 - Abrir y seleccionar en el disco duro el archivo c:\test\test1.html pulsar botón derecho y clickar para abrirlo con Google Chrome y se cierra automático.

si cambio a otros eventos como onblur o onfocus es interesante porque si tratamos de utilizar inspectores para ver el código fuete, tan solo haciendo click en el cuerpo del tab se muestra, pero si hacemos lo mismo, y cerramos el inspector, Chrome también se cierra.

Esto aparentemente solo afecta cuando abrimos el documento html con el método 1.3.

###############
Prueba 2
###############

Crear un nuevo documento html y meter un write dentro, y guardarlo como test2.html en la carpeta de pruebas.

<html>

<head></head>
<title>.:[-Google Chrome close() issue PoC By Lostmon-]:.</title>
<body>
<script>
try { CloseCrome(); } catch(e) {
setTimeout("location.reload();",20);
close(); }
</script>
<h2>.:[-Google Chrome close() issue PoC By Lostmon-]:.</h2>

<p>Google Chrome :2.0.172.33 (Build oficial)<br>
WebKit 530.5<br>V8 1.1.10.13<br>
User Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)<br>
AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.33 Safari/530.5</p>
</body>

</html>

2.1 - Abrir el archivo a través de controlador de protocolo file:///c:/test/test2.html,
Chrome no cierra la ventana y nada desaparece pero si tratamos de navegar a otro sitio como www.google.com se cierra la pestaña automáticamente.

2.2 - Abrir la web desde local a través de http://localhost/test/test2.html,
http://192.168.1.100/test/test2.html chrome no cierra la ventana y nada desaparece, pero si tratamos de navegar a otro sitio como www.google.com cierra la pestaña automáticamente.

2.3 - Abrir y seleccionar el disco duro c:\test\test2.html con el botón derecho y abrirlo con Google Chrome y se cierra automáticamente.

##############
Conclusión
##############

Este problema puede ser una vulnerabilidad, y puede ser utilizado, por ejemplo, para la construcción de malwares que puede ser el navegador de tramp en un determinado location y si el usuario intenta ver el código (onfocus) o tratar de navegar a otros sitios (test2.html) u otro caso puede cerrar la ventana sin aviso, si un programa malicioso o una página web maliciosa o un navegador puede cargar por defecto la página web remotamente, esto puede ser Denegación de Servicio (DoS)

--------------
Lostmon (lostmon@gmail.com)
Web-Blog: http://lostmon.blogspot.com/
------------

thz Lost :-)