Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


app:inses

¡Esta es una revisión vieja del documento!


Manejo de la sesión

Sessión Hijacking

Un atacante logra extraer la cookie de sesión. Se puede obtener aprovechando las siguientes vulnerabilidades:

  • Transmión de cookie por texto plano a través de medios inseguros
  • Fijación de la sesión
  • Inyección de javascript

Esto se puede mitigar tomando las siguientes medidas:

  • No transmitir cookies a través de medios inseguros, usar HTTPS
  • No permitir el acceso desde javascript a la cookie de sesión con el atributo HTTPOnly
  • Hacer que la sesión caduque para evitar que la cookie pueda ser usada indefinidamente.

Session Fixation

Se trata de una vulnerabilidad que consiste en que el atacante consigue que el usuario se identifique con un identificador de sesión que el propio atacante ha generado. Suele seguir los siguientes pasos:

  1. El atacante accede a la pagina de inicio de sesión
  2. El servidor crea un identificador de sesión y se lo asigna a esa sesión
  3. El atacante logra que la víctima abra una URL con el identificador de sesión que ha obtenido previamente
http://acme.com/<script>document.cookie=”sessionid=863F3D316”;</script>
http://acme.com/<meta http-equiv=Set-Cookie content=”sessionid=863F3D316”>
  1. La victima usa dicho enlace para autenticarse, usando el identificador de sesión del atacante.
  2. La victima usa sus credenciales y la sesión pasa a ser una autenticada
  3. El atacante puede realizar acciones a nombre de la victima a conocer su identificador de sesión.

Para prevenir este tipo de ataques lo que se suele hacer es generar una nueva cookie de sesión cada vez que el usuario se autentica, de esta forma la cookie de sesión del atacante queda anulada tras la nueva autenticación.

Reescritura de URL

Muchos servidores envía en ID de sesión a través de la url de la siguiente forma:

http://www.acme.com/account.html;jsessionid=863F3D316

Esto se considera una vulnerabilidad, ya que hace que se pueda obtener la sesión por sustracción. Esto se puede paliar evitando que este identificador de sesión pueda estar en la cabecera, debe ser tratado como si fuera una contraseña. La cabecera HTTP referer contiene información sobre la web en la que se origina una petición, por lo que si el atacante logra redirigir a la víctima a un sitio web que controle puede capturar la URL con la cabecera que contiene la sesión.

Política de mismo origen

(EXAMEN) Define una serie de reglas para restringir como un documento o sus scripts puede interactuar con los recursos localizados en dominios diferentes. Esta es implementada por el navegador web. 2 Webs tienen el mismo dominio si el protocolo, dominio y puerto son el mismo. Las escrituras entre dominios suelen estar permitidas (enlaces, redirecciones y envío de formularios de tipo XMLHttpRequiest y Fetch API). Los navegadores suelen bloquear las escrituras entre dominios por defecto (Peticiones Ajax por ejemplo).

app/inses.1729180466.txt.gz · Última modificación: 2024/10/17 15:54 por thejuanvisu