Esta página es un servicio gratuito de Video Soft BBS - SUBSCRIBASE en nuestras listas de correo.

Busque su tema:

VSantivirus  Internet
Proporcionado por FreeFind

Video Soft BBS
Menú Principal
Anti Trojans
Antivirus
Hoaxes
Subscripciones
Otro software
Artículos
Links
Sugerencias
Sobre el BBS
Direcciones
Galería
Chat

Controlado desde el
19/10/97 por NedStat

Opera y Netscape permiten ejecutar Java desde JavaScript
 
VSantivirus No. 1004, Año 7, Lunes 7 de abril de 2003

Opera y Netscape permiten ejecutar Java desde JavaScript
http://www.vsantivirus.com/dfm-java-javascript.htm

Usando Java desde Javascript.
Incrementando los peligros del Cross site scripting.


Por David F. Madrid
idoru@videosoft.net.uy



Java y Javascript son dos lenguajes de programación ampliamente utilizados en la programación web. Java es mucho más seguro que Javascript ya que se comprueba que el método a ejecutar tiene los permisos para hacerlo mediante una clase (Security Manager class). Java permite además usar los archivos locales y sockets.

Debido a Javascript es un lenguaje para web no debe de tener acceso a los archivos locales pero eso no siempre es así debido a malas implementaciones del Security Manager. Así mismo el hecho de poder usar sockets desde Javascript incrementa los peligros del cross site scripting (dejar un script en un foro o correo con intenciones maliciosas). Vamos a ver como afecta el uso de Java desde Javascript en los navegadores actuales:

Opera 6.01

Se pueden usar métodos como exec() de la clase Runtime para ejecutar cualquier programa. Se puede ejecutar el programa CMD.exe (consola de comandos de Windows) y pasarle argumentos para borrar, formatear o ejecutar cualquier comando de consola. También se pueden utilizar métodos como java.io.File.list para hacer un listado de los archivos en un directorio. En esta página hay una breve demostración de esto.

http://usuarios.lycos.es/idoru/petaopera.html

El segundo enlace abre la calculadora de Windows y el primero aprovecha uno de los numerosos desbordamientos de buffer de los programas de la línea de comandos de W2000 Server, verifier.exe.

Además se pueden utilizar sockets para abrir una conexión con cualquier puerto TCP para enviar y recibir datos, ya que se pueden usar clases como DataInputStream. Se puede ver una demostración en esta página.

http://usuarios.lycos.es/idoru/sockets.html

El cortafuegos no detectará esta conexión porque se origina desde el propio PC. La conexión se puede comprobar con Netstat.

Esto significa que cualquiera que visite un sitio susceptible de cross site scripting (un foro, un webmail, ver el correo como html) puede ser objeto del ataque de un script que intente conectarse con un puerto y explotar un servicio vulnerable para dejar abierto una shell (una puerta trasera) en un puerto cualquiera al alcance de todo Internet.

Es evidente que los programadores de Opera no sabían ni lo que era el Security Manager en la versión Opera 6.01

Opera 7.02 y Netscape 7.02

Afortunadamente la cosa cambia en las nuevas versiones. Si el script se ejecuta mientras visitamos un servidor web el Security Manager de Java prohibirá las llamadas que intentemos hacer a exec(), list o socket.send() pudiéndose comprobar en la consola de Java como salen las excepciones al intentar ejecutar esos métodos porque no se tiene permiso.

Pero todavía se pueden ejecutar sockets y acceder a los archivos locales si se recibe la página por email y se abre con Opera 7.02 o Netscape 7.02 o si se ven los mensajes en formato HTML. Basta mandarse al correo (abrir en el PC) sockets.html y abrirlo para ver una conexión al puerto 139 (si lo tenemos abierto) con Netstat.

Esto es así por decisión de diseño el permitir acceder a los programas Java que se ejecuten en modo local acceder a los archivos y puertos del PC, pero los programas Java no fueron hechos para mandarlos por e-mails mientras que usar Java desde Javascript permite mandar páginas web o script embebidos en el mensaje que exploten vulnerabilidades o accedan a la información del PC.

Evidentemente la protección contra todo esto es deshabilitar Javascript o usar Internet Explorer y Outlook Express, que no permiten ejecutar Java desde Javascript.




(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com

 

Copyright 1996-2003 Video Soft BBS