Bueno, el otro día a partir del problema de Demián, Oscar mencionó que había habido una vulnerabilidad detectada en GMail y que era necesario usar HTTPS.
Creo que a lo que hacía referencia era a esto:
http://it.slashdot.org/article.pl?sid=08/08/19/1433206&tid=172
Y no es algo que afecte sólo a Gmail, sino a una gran cantidad de sitios incluidos Yahoo, Hotmail, Facebook, la mayoría de los sitios con Drupal, etc.
Es un descubrimiento que hizo Mike Perry descripto aca:
http://fscked.org/blog/fully-automated-active-https-cookie-hijacking
La vulnerabilidad deriva de que la mayoría de los sitios no define para las cookies de sus dominios de HTTPS la propiedad "Encrypted Sessions Only", con lo cual algunas cookies pueden viajar en texto plano, en requests HTTP. De todas formas, lo que no explica y habrá que googlear un poco es cómo se configura para que esto funcione bien.
El artículo está bastante interesante y no sé si llegué a comprenderlo al 100%. Básicamente el tipo diseñó un tipo de ataque que se puede realizar teniendo un mínimo control sobre la red de los objetivos (en una red local, wi-fi, o haciendo un hijacking de DNS, o teniendo un cablemodem customizado). Los pasos serían los siguientes (ni da traducirlos):
Cache all DNS responses on the network to obtain a mapping of what
host name clients are resolving, so you know the host they are using for server IPs.
When a client IP connects to a server IP using https (port 443), look
up what hostname they resolved in the DNS cache to get this IP.
Add this domain as a target for that client IP.
When that IP then connects to ANY http website, look up what targets
it has accumulated, and optionally add on a list of custom targets for completely insecure sites such as mail.yahoo.com and mail.live.com. Inject images for each of these into that TCP connection.
When
the browser fetches these images, it will transmit any insecure cookies
for that domain and path. Record the resulting cookies (and any others
we happen to see while we're at it) to a
Firefox-compatible cookies file.
De esa forma se obtienen las cookies en texto plano y es posible hacer el hijacking.
Según entiendo las cookies a las que no le ponés "Encrypted Sessions Only", si vos hacés un request por HTTP te vienen en texto plano, en cambio las otras solamente vienen en responses HTTPS. Por lo cual, si vos a un sitio que tiene cookies inseguras, le mandás un request HTTP, en la respuesta te tienen que venir esas cookies sin encriptar.
La forma de chequear si las cookies de un sitio son seguras es, en el Firefox ir a Preferencias, a Privacy, "Show Cookies" y ahí buscar para un determinado dominio las cookies. Borrar las que tienen "Send For: Encrypted connections only". Luego ingresar al sitio de nuevo y si te deja entrar es porque hay un problema. (Esta es la explicación que da él, yo calculo que será que si borrás esas cookies es porque hay otras no encriptadas, y que si con las no encriptadas ya entrás, entonces es inseguro).
Saludos,
A