Come può un utente malintenzionato leggere il contenuto delle variabili di sessione php?

3

Nel mio codice PHP, sto generando una coppia di chiavi RSA, inviando la chiave pubblica al visitatore e memorizzando la chiave privata in una variabile di sessione. È possibile che un utente malintenzionato sia in qualche modo in grado di leggere il contenuto della variabile di sessione?

So che qualcuno potrebbe subentrare in una sessione dirottandola, ma non sono stato in grado di scoprire se sia possibile accedere alle variabili di quella sessione.

Grazie in anticipo.

    
posta Pascal Sommer 06.03.2016 - 17:58
fonte

1 risposta

5

No. In genere, i dati di sessione vengono archiviati solo sul lato server e non devono essere letti da un utente malintenzionato.

Tuttavia, configurazioni errate o vulnerabilità nel codice possono portare alla divulgazione del contenuto della sessione. Leggere il contenuto della sessione non è probabilmente il problema più grave in questi casi però.

Lettura dei dati della sessione da un file

I dati della sessione sono memorizzati nel file system del server (la posizione è determinata da session.save_path ). Quindi chiunque possa leggere i file dalla directory della sessione può leggere il contenuto della sessione. Questo può accadere se:

  • hai una vulnerabilità di attraversamento di directory che consente la lettura dei file.
  • su host condivisi mal configurati, la directory temporanea che memorizza le sessioni potrebbe essere accessibile da altri.
  • hai mal interpretato erroneamente il tuo server e session.save_path è accessibile pubblicamente
  • ...

Lettura dei dati della sessione da $ _SESSION

Se un utente malintenzionato può leggere variabili, può anche leggere la sua variabile globale $ _SESSION.

Questo si verifica principalmente quando si ha una vulnerabilità legata all'esecuzione del codice, quindi ci sono altre cose di cui preoccuparsi.

Ma si potrebbe immaginare un codice che permetta di leggere le variabili, un semplice esempio potrebbe essere print_r($$_GET['x']); .

    
risposta data 06.03.2016 - 18:41
fonte

Leggi altre domande sui tag