Netscape Communicator 4.x permite leer desde un servidor web ficheros HTML del cliente, incluyendo el bookmark y la caché del navegador. El ataque es posible siempre y cuando se conozca el nombre del perfil del usuario y el navegador esté configurado para permitir interpretar JavaScript y aceptar cookies, funcionalidades en las que se basa la vulnerabilidad.
El problema surge porque Netscape permite incluir código JavaScript en las cookies. Aprovechando esta particularidad, es posible diseñar una cookie con código JavaScript que lea información del sistema del usuario, apuntando por ejemplo a:
C:Program FilesNetscapeUsersdefaultbookmark.htm
En esta ocasión suponemos que el nombre del perfil es «default», que suele coincidir en muchas ocasiones por tratarse del nombre por defecto. En el caso de que el usuario víctima utilice otro nombre de perfil es tarea del atacante intentar averiguarlo.
Siguiendo con el ejemplo, la página web atacante llamaría en uno de sus frames a la cookie que contiene el c¢digo JavaScript -que anteriormente habr¡a sido descargada por el usuario- a trav’s de la l¡nea:
C:Program FilesNetscapeUsersdefaultcookies.txt?/.html
Esta l¡nea provocar¡a la ejecuci¢n del c¢digo JavaScript y la lectura del bookmark sin ningon problema, ya que ambos ficheros, cookie y bookmark, se encuentran en el disco duro local y por tanto en la misma zona de seguridad para Netscape Communicator. Posteriormente los datos obtenidos ser¡an transmitidos al servidor web como par metros en una URL.
El descubridor de esta vulnerabilidad, Bennett Haselton, facilita una demostraci¢n en l¡nea:
http://peacefire.org/security/jscookies/jscookieset.html
A la espera de que Netscape solucione el problema, los usuarios pueden deshabilitar las cookies o la ejecuci¢n de JavaScript en Communicator, as¡ como procurar que el nombre de perfil no sea «default».
Bernardo Quintero
bernardo@hispasec.com
http://www.hispasec.com