Sicurezza del nome del cookie

-1

È una falla nella sicurezza nominare ogni sessione con il nome utente dell'utente attualmente connesso?

Esempio:

//Alice has login
sessions_name('Alice'); sessions_start(); //Alice has login
//When Bob Logs in
sessions_name('Bob'); sessions_start(); //code follows for Bob

etc ....

    
posta William Wallace 09.07.2015 - 09:37
fonte

1 risposta

0

Generalmente, il nome della tua sessione è PHPSESSID (a meno che non lo si rinomina con session_name - come hai proposto tu). Questo non offre alcun vantaggio in termini di sicurezza, ecco perché;

Hai menzionato che sei consapevole che le sessioni possono essere rubate, il che è corretto ( session hijacking ), sebbene il nome stesso ( Alice , Bob ) non introduce alcuna misura di sicurezza (nemmeno avendo nomi diversi per ciascun utente).

Il session_name è qualcosa che permetterà alla tua applicazione di fare riferimento alla sessione con un significato più ovvio. (Vale a dire: non ha senso se PHPSESSID per contenere i dati di sessione su un modulo in termini di codice di scansione - PHPSESSID non fa riferimento form in alcun modo - questo è un esempio vago, ma tu capisci).

Quindi abbiamo identificato il rischio, ma perché avere una percentuale dinamica disession_name non aiuta la sicurezza?

Generalmente, un dirottamento di sessione avverrà tramite XSS exploit. Questa vulnerabilità eseguirà Javascript sul computer client / target e invierà all'utente (l'utente malintenzionato) i propri cookie (i valori di sessione e i nomi delle sessioni sono inclusi. Avere il valore della sessione lo rende una torta completa).

L'utente malintenzionato si invierà i cookie creando una richiesta (in genere HTTP) a un server Web di sua proprietà con i dati post di document.cooke

In conclusione

Denominare la sessione in modo dinamico non è un difetto di sicurezza in sé. La sessione non "funzionerà" senza il valore corretto & nome. La tua preoccupazione principale dovrebbe essere l'associazione del valore della sessione al client, di;

  • Associazione del valore della sessione all'agente utente dell'utente
  • Associazione del valore della sessione all'IP degli utenti

Dovresti anche esaminare session_regenerate_id() in modo che se un utente malintenzionato ottenga il tuo id di sessione, dovrebbe essere abbastanza veloce per dirottarlo prima che il valore si rigeneri.

    
risposta data 09.07.2015 - 16:03
fonte

Leggi altre domande sui tag