Mostra notizie nelle discussioni
  • Avatar
    Scritto da
    Non Autenticato
    il 2013-02-12 19:50:16.0 alle 2013-02-12 19:50:16.0
    Lich PHP
    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?
    • Avatar
      Scritto da
      Non Autenticato
      il 2013-02-12 20:41:47.0 alle 2013-02-12 20:41:47.0
      Re: Lich PHP
      > 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?
      • Avatar
        ☺
        Scritto da
        The Lich
        Übermensch
        il 2013-02-12 21:08:27.0 alle 2013-02-12 21:08:27.0
        Trollate totali: 21351
        Re: Lich PHP
        Scritto 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. »
        Cylon
        Immagine postata dall'utente
    • Avatar
      ☺
      Scritto da
      ::1
      il 2013-02-12 21:05:04.0 alle 2013-02-12 21:05:04.0
      Trollate totali: 12321
      Re: Lich PHP
      Scritto 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.
      • Avatar
        Scritto da
        Non Autenticato
        il 2013-02-12 21:18:07.0 alle 2013-02-12 21:18:07.0
        Re: Lich PHP
        > > 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?
        • Avatar
          ☺
          Scritto da
          ::1
          il 2013-02-12 21:25:23.0 alle 2013-02-12 21:25:23.0
          Trollate totali: 12321
          Re: Lich PHP
          Scritto 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.
          • Avatar
            Scritto da
            Non Autenticato
            il 2013-02-12 21:39:14.0 alle 2013-02-12 21:39:14.0
            Re: Lich PHP
            > > > > 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.
    • Avatar
      ☺
      Scritto da
      The Lich
      Übermensch
      il 2013-02-12 21:07:18.0 alle 2013-02-12 21:07:18.0
      Trollate totali: 21351
      Re: Lich PHP
      Scritto 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. »
      Cylon
      Immagine postata dall'utente
      • Avatar
        Scritto da
        Non Autenticato
        il 2013-02-12 21:12:48.0 alle 2013-02-12 21:12:48.0
        Re: Lich PHP
        > > 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. Ficoso

        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. »
        > Cylon
        > Immagine postata dall'utente
        • Avatar
          ☺
          Scritto da
          The Lich
          Übermensch
          il 2013-02-12 22:19:07.0 alle 2013-02-12 22:19:07.0
          Trollate totali: 21351
          Re: Lich PHP
          Scritto 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. Ficoso
          >
          > 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. »
          Cylon
          Immagine postata dall'utente
<softv>

Pagina generata in 72 millisecondi

Utenti attivi: 9 nell'ultimo minuto, 26 negli ultimi cinque minuti, 57 negli ultimi 15 minuti