¿Es difícil resolver la fijación de sesión?

0

Acabo de encontrar una vulnerabilidad de reparación de sesión en un par de gigantes tecnológicos. Dando los pasos que he hecho:

1. Inicie sesión en su cuenta en un navegador (Navegador 1).   2. Extraiga la cookie mediante el extractor de cookies.   3. Importe la cookie a un navegador diferente (Navegador 2).   4. Has iniciado sesión en tu cuenta sin contraseña.

Nota: En algunos casos, puedo iniciar sesión en el segundo navegador incluso después de cerrar la sesión desde el primer navegador ( Ambos navegadores tienen las mismas cookies para conectarse al importar la cookie del primer navegador al segundo navegador ).

Question 1: Why this is happening? 
Question 2: Probable way's for resolve this issue. 
Question 3: Is this even a session fixation vulnerability? 
Question 4: Should I report it to their bug bounty program? 
    
pregunta Shakir 16.03.2017 - 05:49
fuente

1 respuesta

1
  

Pregunta 1: ¿Por qué sucede esto?

Su sesión solo está vinculada a una cookie de sesión, no a la IP ni a los detalles del navegador. Esto es completamente común, incluso Github hace eso. (El uso de propiedades adicionales para vincular la sesión puede tener consecuencias no deseadas, por ejemplo, podría llevar a cierres de sesión aleatorios cuando un usuario actualiza su navegador o cambia su IP).

  

Pregunta 2: Hay una forma probable de resolver este problema.

No es un problema de seguridad importante. Copiar cookies de un navegador a otro requiere acceso al almacenamiento de cookies de un navegador que no tiene un atacante común. Si aún desea asegurarse de que un usuario no pueda reutilizar su sesión en un navegador diferente, puede vincular propiedades adicionales, por ejemplo. invalide una sesión tan pronto como cambie el encabezado User-Agent .

  

Pregunta 3: ¿Es esto incluso una vulnerabilidad de reparación de sesión?

No, no lo es. En un ataque de fijación de sesión, fuerza un ID de sesión conocido en una víctima (no autenticada). Esta identificación sigue siendo válida después de que la víctima inicie sesión para que pueda reutilizarla para autenticarse como la víctima. Pero sin una vulnerabilidad adicional, no hay manera de insertar la cookie de sesión en el navegador de la víctima en primer lugar. La página de OWASP en ella tiene algunos ejemplos que muestran las posibles condiciones previas que pueden llevar a una vulnerabilidad de reparación de sesión.

  

Pregunta 4: ¿Debo informarlo a su programa de recompensas de errores?

Lo más probable es que esté fuera del alcance. Con las hordas de cazadores de recompensas de errores, debe esperar que este tipo de problemas ya estén cubiertos en sitios de alto perfil y, si persisten, es por diseño.

  

En algunos casos, puedo iniciar sesión en el segundo navegador incluso después de cerrar la sesión del primer navegador.

Un cierre de sesión debe invalidar la sesión actual pero no necesariamente terminar todas las demás sesiones activas. Solo porque usted cierra la sesión de Github en su teléfono, no necesariamente quiere que se cierre la sesión también en su navegador.

Esta demostración muestra en el ejemplo de Github que a menudo se permite copiar la misma cookie de sesión de un cliente a otro:

  • Inicia sesión en Github.
  • Copie la cookie de sesión de usuario user_session del tarro de cookies del navegador. (No puede hacerlo con JS porque la cookie es HttpOnly .)
  • $ curl -b "user_session=[your session id]" https://github.com/
  • Encontrará que la respuesta HTML todavía está autenticada. (Debería ver su propio nombre de usuario y sus repositorios en el código).
respondido por el Arminius 16.03.2017 - 06:21
fuente

Lea otras preguntas en las etiquetas