Archive for 30 de octubre de 2007|Daily archive page

Historia de las Cookies

Supongo que es habitual el dar por supuesto la existencia de ciertas tecnologías porque básicamente están tan extendidas que nunca se repara en ver de dónde vienen.

En este caso, el post va dedicado a las cookies. Una cookie para los que no estan familiarizados con el tema es básicamente información que un servidor web puede pedir que se guarde en el navegador cliente. Este tipo de información se envía con las peticiones y respuestas cuando se solicita una página Web.

El origen de esta tecnología nace de la idea de uno de los programadores de Netscape llamado Lou Montulli. Creo que en este punto es mejor meter una cita de la propia web personal de esta persona.

I’m largely to blame for several innovations on the web including, cookies, the blink tag, server push and client pull, HTTP proxying, proxy authentication, HTTP byte ranges, HTTPS over SSL, and encouraging the implementation of animated GIFS into the browser.

Creo que es una de las frases más fantásticas dentro de un currículum "soy el culpable de …" 🙂 Y ¿por qué? Básicamente, las cookies son unos mecanismos que han sido absolutamente abusados como solución a ciertos problemas dentro de cómo hacer algo dentro de una aplicación y han sido (y lamentablemente todavía se puede ver) los culpables de muchos fallos de seguridad dentro de los sistemas.

El ataque más simple que se puede describir basado en cookies se da cuando estas se utilizan como mecanismo de autenticación. Un usuario escribe su nombre y contraseña para acceder al servicio y el servicio por debajo guarda una cookie que básicamente guarda el ID (identificador) de sesión del usuario. Ataque típico copy & paste, ya que copiando la cookie a otro ordenador se puede acceder a los servicios en los que esta acreditado el usuario.

Referencias:

  1. Especificación original del mecanismo de cookies
  2. Página personal de Lou Montulli. Recomendable 100% los archivos de las discusiones sobre los formularios en HTML.
  3. RFC 2109 que define el mecanismo actual de cookies.