-
Lich PHPScritto daNon Autenticatoil 2013-02-12 19:50:16.0 alle 2013-02-12 19:50:16.0Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
-
Re: Lich PHPScritto daNon Autenticatoil 2013-02-12 20:41:47.0 alle 2013-02-12 20:41:47.0> Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
uppete
Dov'è Lich quando serve? a divertirsi al poligono?-
Re: Lich PHPScritto daThe LichÜbermenschil 2013-02-12 21:08:27.0 alle 2013-02-12 21:08:27.0Trollate totali: 21351Scritto da:
> > Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
>
> uppete
>
> Dov'è Lich quando serve? a divertirsi al poligono?
no, in armeria ad ordinare una borsa per portare la carabina in poligono
The Lich™
« Non è morto ciò che in eterno può attendere,
e col passare di strani eoni, anche la morte può morire. »

-
-
Re: Lich PHPScritto da:
> Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
Essendo http un protocollo stateless, poter associare una sessione (un'area di memoria sul server) a un determinato client si può fare solo facendosi rimandare un identificativo dal client, questo solitamente si fa con un cookie.
Mi pare che php possa farlo anche con un parametro dell'url, sempre di PHPSESSID si parla.
Ovviamente http è un protocollo in chiaro, dove questa roba può venire intercettate e usando il session id di un altro posso far credere al sistema di essere l'altro.
Puoi ovviare in vari modi a questo problema: il più facile è passare via https tutto quello che richiede autenticazione.
Questo è un problema che riguarda tutte le webapp, non solo php (vedi i cookies del forum, se usi http invece di https è possibile facilmente sniffando il tuo traffico prendere il tuo JSESSIONID e impersonarti).Young professional woman and busy mom.-
Re: Lich PHPScritto daNon Autenticatoil 2013-02-12 21:18:07.0 alle 2013-02-12 21:18:07.0> > Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
>
> Essendo http un protocollo stateless, poter associare una sessione (un'area di memoria sul server) a un determinato client si può fare solo facendosi rimandare un identificativo dal client, questo solitamente si fa con un cookie.
> Mi pare che php possa farlo anche con un parametro dell'url, sempre di PHPSESSID si parla.
> Ovviamente http è un protocollo in chiaro, dove questa roba può venire intercettate e usando il session id di un altro posso far credere al sistema di essere l'altro.
> Puoi ovviare in vari modi a questo problema: il più facile è passare via https tutto quello che richiede autenticazione.
> Questo è un problema che riguarda tutte le webapp, non solo php (vedi i cookies del forum, se usi http invece di https è possibile facilmente sniffando il tuo traffico prendere il tuo JSESSIONID e impersonarti).
Tipo ad esempio attendere che mi logghi e collegarsi loggandosi come se si trattasse di me? Però per usare SSL mi sa che occorre almeno un server virtuale no?-
Re: Lich PHPScritto da:
> > > Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
> >
> > Essendo http un protocollo stateless, poter associare una sessione (un'area di memoria sul server) a un determinato client si può fare solo facendosi rimandare un identificativo dal client, questo solitamente si fa con un cookie.
> > Mi pare che php possa farlo anche con un parametro dell'url, sempre di PHPSESSID si parla.
> > Ovviamente http è un protocollo in chiaro, dove questa roba può venire intercettate e usando il session id di un altro posso far credere al sistema di essere l'altro.
> > Puoi ovviare in vari modi a questo problema: il più facile è passare via https tutto quello che richiede autenticazione.
> > Questo è un problema che riguarda tutte le webapp, non solo php (vedi i cookies del forum, se usi http invece di https è possibile facilmente sniffando il tuo traffico prendere il tuo JSESSIONID e impersonarti).
>
> Tipo ad esempio attendere che mi logghi e collegarsi loggandosi come se si trattasse di me? Però per usare SSL mi sa che occorre almeno un server virtuale no?
Dipende dall'hosting, alcuni permettono ssl.Young professional woman and busy mom.-
Re: Lich PHPScritto daNon Autenticatoil 2013-02-12 21:39:14.0 alle 2013-02-12 21:39:14.0> > > > Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
> > >
> > > Essendo http un protocollo stateless, poter associare una sessione (un'area di memoria sul server) a un determinato client si può fare solo facendosi rimandare un identificativo dal client, questo solitamente si fa con un cookie.
> > > Mi pare che php possa farlo anche con un parametro dell'url, sempre di PHPSESSID si parla.
> > > Ovviamente http è un protocollo in chiaro, dove questa roba può venire intercettate e usando il session id di un altro posso far credere al sistema di essere l'altro.
> > > Puoi ovviare in vari modi a questo problema: il più facile è passare via https tutto quello che richiede autenticazione.
> > > Questo è un problema che riguarda tutte le webapp, non solo php (vedi i cookies del forum, se usi http invece di https è possibile facilmente sniffando il tuo traffico prendere il tuo JSESSIONID e impersonarti).
> >
> > Tipo ad esempio attendere che mi logghi e collegarsi loggandosi come se si trattasse di me? Però per usare SSL mi sa che occorre almeno un server virtuale no?
>
> Dipende dall'hosting, alcuni permettono ssl.
Vero. Comunque vedrò di tenere a mente il problema quando ne avrò bisogno.
-
-
-
-
Re: Lich PHPScritto daThe LichÜbermenschil 2013-02-12 21:07:18.0 alle 2013-02-12 21:07:18.0Trollate totali: 21351Scritto da:
> Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
in php la sessione viene registrata di default in un file su disco, in posizione stabilita su php.ini
esistono anche handler di sessione per gestire la sessione in modo personalizzato, ad esempio su database, anche se imho è buggato, quanto meno è buggato l'handler del garbage collector nella versione 5.3 (questo dovrei verificarlo con attenzione e vedere se hanno corretto i bug nella nuova versione ad oggetti, in questo momento non ne ho voglia)
l'identificativo di sessione lato client viene registrato in un cookie e quindi passato nell'header da una pagina all'altra
alternativamente puoi settare un parametro di php.ini per passarlo in GET
p.s. io LAVORO, sia di giorno sia in questo momento mentre spreco del tempo a risponderti, quindi vedi anche di annareapijarloandercuxonesfondo
The Lich™
« Non è morto ciò che in eterno può attendere,
e col passare di strani eoni, anche la morte può morire. »

-
Re: Lich PHPScritto daNon Autenticatoil 2013-02-12 21:12:48.0 alle 2013-02-12 21:12:48.0> > Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
>
> in php la sessione viene registrata di default in un file su disco, in posizione stabilita su php.ini
>
> esistono anche handler di sessione per gestire la sessione in modo personalizzato, ad esempio su database, anche se imho è buggato, quanto meno è buggato l'handler del garbage collector nella versione 5.3 (questo dovrei verificarlo con attenzione e vedere se hanno corretto i bug nella nuova versione ad oggetti, in questo momento non ne ho voglia)
>
> l'identificativo di sessione lato client viene registrato in un cookie e quindi passato nell'header da una pagina all'altra
> alternativamente puoi settare un parametro di php.ini per passarlo in GET
>
> p.s. io LAVORO, sia di giorno sia in questo momento mentre spreco del tempo a risponderti
Ma anche no, rispondere ti aiuta a tenere a mente i concetti.
Avevo letto sul manuale, ma per ritrovarlo dovrei rileggermi tutta la sezione, che in alternativa al cookie l'id di sessione può essere passato "in modo trasparente" dal browser al client, ma non ho mai capito, né ricordo fosse spiegato, come. Con "trasparente" voleva dire che nell'URL non lo leggi. Un invio tipo POST?
Conoscere l'id di sessione può permettere attacchi di qualche tipo?
> quindi vedi anche di annareapijarloandercuxonesfondo
>
> The Lich™
> « Non è morto ciò che in eterno può attendere,
> e col passare di strani eoni, anche la morte può morire. »
>
>
-
Re: Lich PHPScritto daThe LichÜbermenschil 2013-02-12 22:19:07.0 alle 2013-02-12 22:19:07.0Trollate totali: 21351Scritto da:
> > > Nel manuale di PHP c'è scritto che l'identificativo di sessione viene passato in modo trasparente fra le pagine. Ma come avviene esattamente? Se guardassi il traffico con un analizzatore di rete vedrei l'identificativo di sessione? E se uno lo legge può usarlo per compromettere la sicurezza del sito?
> >
> > in php la sessione viene registrata di default in un file su disco, in posizione stabilita su php.ini
> >
> > esistono anche handler di sessione per gestire la sessione in modo personalizzato, ad esempio su database, anche se imho è buggato, quanto meno è buggato l'handler del garbage collector nella versione 5.3 (questo dovrei verificarlo con attenzione e vedere se hanno corretto i bug nella nuova versione ad oggetti, in questo momento non ne ho voglia)
> >
> > l'identificativo di sessione lato client viene registrato in un cookie e quindi passato nell'header da una pagina all'altra
> > alternativamente puoi settare un parametro di php.ini per passarlo in GET
> >
> > p.s. io LAVORO, sia di giorno sia in questo momento mentre spreco del tempo a risponderti
>
> Ma anche no, rispondere ti aiuta a tenere a mente i concetti.
>
> Avevo letto sul manuale, ma per ritrovarlo dovrei rileggermi tutta la sezione, che in alternativa al cookie l'id di sessione può essere passato "in modo trasparente" dal browser al client, ma non ho mai capito, né ricordo fosse spiegato, come. Con "trasparente" voleva dire che nell'URL non lo leggi. Un invio tipo POST?
NO o GET o COOKIE
> Conoscere l'id di sessione può permettere attacchi di qualche tipo?
sì, che uno si spaccia per te
The Lich™
« Non è morto ciò che in eterno può attendere,
e col passare di strani eoni, anche la morte può morire. »

-
-
-