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

       

Inyección de cookies en varios navegadores
 
VSantivirus No. 1535 Año 8, domingo 19 de setiembre de 2004

Inyección de cookies en varios navegadores
http://www.vsantivirus.com/vul-cookie-180904.htm

Por Angela Ruiz
angela@videosoft.net.uy


Westpoint Security ha reportado múltiples vulnerabilidades en conocidos navegadores, que pueden permitir a un atacante inyectar cookies de un dominio en otro. Esto se podría utilizar para realizar ataques de fijación de sesión (mantener una sesión iniciada por otro usuario), contra aplicaciones web.

Las cookies son pequeños archivos de texto que el servidor Web visitado (host) puede almacenar en la computadora del usuario.

Es un medio que permite a un servidor o a una secuencia de comandos mantener información de la estación de trabajo cliente.

Contienen información acerca del usuario, un número de identificación, una configuración para acceder al sitio Web o cuántas veces ha sido visitado el sitio por el usuario. Un sitio Web puede tener acceso a la información del cookie siempre que el usuario se conecta a ese host.

Las vulnerabilidades afectan al Internet Explorer (5.01, 5.5 y 6 con todos los parches), Konqueror, Mozilla (0.x, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7.x), Mozilla Firefox 0.x y Opera.

Descripción de las vulnerabilidades

Vulnerabilidad 1: Inyección de cookies en dominios cruzados


Navegadores vulnerables:

- Konqueror
- Internet Explorer
- Mozilla

No vulnerable:

- Opera

Por defecto, las cookies son únicamente enviadas al host que las publicó. Existe un atributo opcional (domain), que sobrescribe este comportamiento. Por ejemplo, "red.example.com" podría colocar una cookie con "domain=.example.com". Esta sería enviada entonces a cualquier host con dominio ".example.com".

Existe un potencial riesgo de abuso en esto. Considere el caso donde "red.example.com" coloca una cookie con "domain=.com". En principio ésta sería enviada a cualquier host con dominio .com. Sin embargo, según el RFC2965, un navegador rechaza cookies cuando el valor para el atributo "domain" contiene puntos no embebidos (espacios u otros caracteres no válidos adelante o detrás de un punto). Por ejemplo, esto prevendría que funcionara una cookie como "domain=.com".

Sin embargo, esto no se extiende para dominios de países que se dividen en dos partes. Por ejemplo "red.example.co.uk" puede colocar una cookie con "domain=.co.uk" y entonces la misma sería enviada a todos los hosts con dominios .co.uk.

Mozilla sigue la especificación RFC al pie de la letra y es vulnerable a esto.

Konqueror e Internet Explorer poseen una protección adicional previniendo el uso de las siguientes formas de dominios:

- Cuando el dominio de segundo nivel es de uno o dos caracteres (ej: "xx.yy" o "x.yy")

- Dominios en la forma "com.yy", "net.yy", "mil.yy", "org.yy", "gov.yy", "edu.yy", "int.yy"

Esto previene la inyección de cookies en dominios cruzados ".co.uk" por ejemplo, pero no protege todos los dominios. Por ejemplo, dominios como los siguientes no están protegidos:

.ltd.uk
.plc.uk
.sch.uk
.nhs.uk
.police.uk
.mod.uk

Al comprobarse este comportamiento en Opera, el navegador siempre detectó correctamente el dominio.

Ejemplos de explotación:

1. "http://example.ltd.uk/" es identificado para un ataque. Se utiliza una cookie para identificar la sesión, denominada SID (cookie session id).

2. El atacante obtiene el dominio "attacker.ltd.uk"

3. El usuario es engañado para hacer clic en un enlace a "http://attacker.ltd.uk/"

4. Este sitio coloca una cookie "sid" con "domain=.ltd.uk"

5. Cuando el usuario se conecta a "example.ltd.uk", utiliza un identificador de sesión conocido por el atacante.

6. El atacante posee ahora un identificador de sesión iniciada y ha comprometido la cuenta del usuario.

La explotación es dependiente de que el usuario haga clic en un enlace no seguro. Sin embargo, es fundamental la utilización de un sitio web en el que exista un enlace no seguro. Este ataque puede ser realizado a pesar del uso de conexiones seguras vía SSL (Secure Sockets Layer).

Vulnerabilidad 2: Inyección de cookies con cruce de límites de seguridad

Vulnerables:

- Internet Explorer
- Konqueror
- Mozilla
- Opera

Por defecto las cookies son enviadas a todos los puertos en el host que las publicó, aún cuando se esté utilizando una conexión segura (SSL).

Existe un atributo "secure" que es opcional, y que restringe el envío a canales seguros. Esto previene que cookies seguras sean enviadas a canales inseguros. Sin embargo, no existe protección para colocar cookies sobre un canal no seguro cuando son ofrecidas por un canal seguro.

En general mantener los límites apropiados entre los diferentes niveles de seguridad, es necesario para defenderse contra ambos tipos de ataques, protegiendo tanto la confidencialidad como la integridad.

Un ejemplo de explotación:

1. "https://example.com/" es identificado para un ataque. Se utiliza una cookie para identificar la sesión (SID).

2. El usuario es engañado para hacer clic en un enlace a "http://example.com/"

3. Por alguna clase de mecanismo, el atacante intercepta esta solicitud y pone la cookie con el "sid".

4. Cuando el usuario se conecta a "https://example.com/", utiliza un identificador de sesión conocido por el atacante.

5. El atacante posee ahora un identificador de sesión iniciada y ha comprometido la cuenta del usuario.

Además de requerirse que el usuario haga clic en un enlace no seguro, la explotación exitosa depende de que el atacante pueda manipular el tráfico de red no-SSL. Es una suposición razonable que el propósito de SSL sería brindar seguridad sobre una red insegura.

Respuesta de los distintos vendedores.

- Mozilla:

Una discusión abierta en http://bugzilla.mozilla.org/show_bug.cgi?id=252342, muestra que el problema de cruce de dominios es un error largamente conocido. Sin embargo, un colaborador clama que el exploit está siendo usado "en la calle". Varias soluciones han sido sugeridas y este error será corregido pronto.

No existe ninguna discusión abierta sobre el problema de SSL versus no-SSL.

- Opera:

Opera ha tomado muy seriamente el problema de cruce de dominios, y ha implementado una búsqueda de DNS en el dominio especificado para evitar se produzca. Opera es el único navegador de los testeados, no vulnerable a la inyección de cookies en dominios cruzados.

Opera afirma que el segundo problema (cruce de límites de seguridad) no podrá ser resuelto sin romper los estándares existentes.

- Konqueror:

Se planea solucionar el problema del cruce de dominios incluyendo una lista de dominios de primer nivel bajo el código de un país (ccTLD).

El segundo problema parece no tener una solución por el momento.

- KDE (Konqueror):

KDE publicó un aviso de que el problema de cruce de dominios se soluciona en la versión 3.3. Existen parches para versiones 3.x anteriores.

- Microsoft

Según Microsoft, la mejor práctica para que un sitio web resista un ataque del tipo fijación de sesión, es la de cambiar el identificador de sesión después de la autenticación. Se examina la forma de resolverlo en el navegador. Cómo esto puede causar problemas de compatibilidad, y el asunto es catalogado de riesgo bajo por la compañía, no existen fechas previstas para la posible solución.


Créditos:

Paul Johnston <paul@westpoint.ltd.uk>
Richard Moore <rich@westpoint.ltd.uk>


Reporte original:

Multiple Browser Cookie Injection Vulnerabilities
http://www.westpoint.ltd.uk/advisories/wp-04-0001.txt


Referencias:

RFC2965 - HTTP State Management Mechanism
www.ietf.org/rfc/rfc2965.txt

Session Fixation Vulnerability in Web-based Applications
www.acros.si/papers/session_fixation.pdf

Persistent Client State - HTTP Cookies
www.netscape.com/newsref/std/cookie_spec.html

Cookies and Cookie Handling in Opera 7 Explained
http://o.bulport.com/index.php?item=55

Mozilla bug opened
http://bugzilla.mozilla.org/show_bug.cgi?id=252342

Cookie Monster bug
www.securiteam.com/exploits/Cookie_Monster_vulnerability.html

KDE Security Advisory:
Konqueror Cross-Domain Cookie Injection
www.kde.org/info/security/advisory-20040823-1.txt

Internet Explorer Cross-Domain Cookie Injection Vulnerability
http://secunia.com/advisories/12581/

Mozilla / Mozilla Firefox
Cross-Domain Cookie Injection Vulnerability
http://secunia.com/advisories/12580/




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

 

Copyright 1996-2004 Video Soft BBS