Come utilizzare un token per distinguere tra un utente loggato valido e un attacco?

0

Prendiamo l'esempio del mio già effettuato il login, per esempio, su LinkedIn. Quando accedo a LinkedIn su una nuova scheda, mi registra automaticamente (utilizzando le informazioni sui cookie). Ora, supponiamo che visiti un forum e attraverso un'immagine caricata, venga eseguito un attacco CSRF contro le mie credenziali. Per impedire l'utilizzo delle mie credenziali memorizzate sui cookie per un attacco, LinkedIn userebbe token e / o nonce, controllerebbe che il token sia scaduto (o nonce sia già usato) e prevenga l'attacco.

Ciò che mi confonde è che, per quanto riguarda LinkedIn, sia il mio accesso attraverso una nuova scheda che l'attacco CSRF sono avviati dal mio browser (fidato). Ma, LinkedIn mi registra automaticamente a prescindere. In che modo, quindi, LinkedIn potrebbe differenziare l'apertura di una nuova scheda da un attacco CSRF? O forse LinkedIn ha forzato un timeout più severo e mi ha fatto effettuare il login se provo ad accedere da una nuova scheda?

    
posta katrix 05.03.2014 - 19:40
fonte

1 risposta

0

Quando apri una nuova scheda e accedi a linkedin, il copkie che contiene la sessione viene automaticamente trasmesso a linkedin. Linkedin controlla la sessione e se è valida hai effettuato l'accesso.

Solitamente un CSRF è richiesto solo per la modifica delle richieste, ad es. se aggiorni alcune delle impostazioni del tuo account o qualcosa di simile. Quando la pagina con il modulo viene trasmessa al tuo browser linkedin aggiunge un campo nascosto con il token CSRF nel modulo. Se si invia il modulo, il cookie di sessione e il token CSRF vengono inviati a linkedin. Linkedin controlla la sessione e se è valida controlla il token CSRF. Se manca il token, la richiesta dovrebbe essere omessa.

    
risposta data 05.03.2014 - 20:58
fonte

Leggi altre domande sui tag