¿Cómo usar un token para diferenciar entre un usuario registrado registrado y un ataque?

0

Tomemos el ejemplo de que ya he iniciado sesión en, por ejemplo, LinkedIn. Cuando accedo a LinkedIn en una nueva pestaña, automáticamente se registra (usando información de cookies). Ahora, supongamos que visito un foro y, a través de una imagen que se carga, se ejecuta un ataque CSRF contra mis credenciales. Para evitar el uso de mis credenciales almacenadas en cookies para un ataque, LinkedIn usaría el token y / o nonce, verificará que el token haya caducado (o el nonce ya esté en uso) y evitaría que se produjera el ataque.

Lo que me confunde es que, en lo que respecta a LinkedIn, tanto mi inicio de sesión a través de una nueva pestaña como el ataque CSRF se inician desde mi navegador (confiable). Pero, LinkedIn automáticamente me inicia sesión independientemente. ¿Cómo diferenciaría LinkedIn al abrir una nueva pestaña de un ataque CSRF? ¿O debería LinkedIn haber impuesto un tiempo de espera más estricto y hacerme iniciar sesión si intento iniciar sesión desde una nueva pestaña?

    
pregunta katrix 05.03.2014 - 19:40
fuente

1 respuesta

0

Cuando abre una nueva pestaña y accede a linkedin, el copkie que contiene la sesión se transmite automáticamente a linkedin. Linkedin comprueba la sesión y, si es válida, está conectado.

Por lo general, solo se requiere un CSRF para modificar las solicitudes, por ejemplo, si actualizas algunas de las configuraciones de tu cuenta o algo así. Cuando la página con el formulario se transmite a su navegador, linkedin agrega un campo oculto con el token CSRF en el formulario. Si envía el formulario, la cookie de sesión y el token CSRF se envían a linkedin. Linkedin comprueba la sesión y, si es válida, comprueba el token CSRF. Si falta el token, la solicitud debe omitirse.

    
respondido por el DanielE 05.03.2014 - 20:58
fuente

Lea otras preguntas en las etiquetas