PHP & COOKIE: sicurezza.
-
YourEmployer
- Scoppiettante Seguace

- Messaggi: 519
- Iscrizione: sabato 16 giugno 2007, 17:21
- Località: Vercellese
- Contatti:
PHP & COOKIE: sicurezza.
Ciao a tutti.
Sto creando un'applicazione WEB in PHP e MYSQL.
Ho incentrato la gestione dell'inserimento dei messaggi sui cookies.
Quindi, una persona quando esegue il login, salva il cookie;
quando inserisce un messaggio viene verificata la presenza di questo cookie...eccetera.
Ora mi chiedo se questi cookies non possano essere compromessi, modificati.
Praticamente, al momento del login il mio sito crea un
setcookie("Texas",$_SESSION['nome'],time()+7200,"/");
Poi, per inserire i dati nel database viene controllato che sia settato questo cookie.
per modificare si controlla che il nome contenuto nel cookie sia uguale al nome dell'autore del messaggio.
nel cookie c'è l'username di chi esegue l'accesso.
se questo venisse modificato sarebbe un casino. è possibile che accada?
sarebbe un casino perchè ho segnato che chi ha $_COOKIE['Texas'] === "vincenzo2342" ha i poteri di amministratore.
Attendo chiarimenti,Ciao!
Sto creando un'applicazione WEB in PHP e MYSQL.
Ho incentrato la gestione dell'inserimento dei messaggi sui cookies.
Quindi, una persona quando esegue il login, salva il cookie;
quando inserisce un messaggio viene verificata la presenza di questo cookie...eccetera.
Ora mi chiedo se questi cookies non possano essere compromessi, modificati.
Praticamente, al momento del login il mio sito crea un
setcookie("Texas",$_SESSION['nome'],time()+7200,"/");
Poi, per inserire i dati nel database viene controllato che sia settato questo cookie.
per modificare si controlla che il nome contenuto nel cookie sia uguale al nome dell'autore del messaggio.
nel cookie c'è l'username di chi esegue l'accesso.
se questo venisse modificato sarebbe un casino. è possibile che accada?
sarebbe un casino perchè ho segnato che chi ha $_COOKIE['Texas'] === "vincenzo2342" ha i poteri di amministratore.
Attendo chiarimenti,Ciao!
Rape me again
- danilo.rossini
- Entusiasta Emergente

- Messaggi: 1200
- Iscrizione: sabato 23 febbraio 2008, 10:32
- Località: Cuneo - Genova
Re: PHP & COOKIE: sicurezza.
Con i cookie è possibile poichè vengono memorizzati all'interno del browser del client come file di testo, un malintenzionato potrebbe quindi prelevare il cookie di un utente registrato al tuo sito direttamente sul computer del tuo utente (metti che riesca ad avere libero accesso al suo pc)..
Inotre attraverso un semplice clic su un URL costruito ad hoc gli utenti di Internet Explorer diventano potenzialmente vulnerabili alla rivelazione dei cookies presenti sulla loro macchina (http://www.peacefire.org/security/iecookies)
Solitamente viene salvato tutto all'interno delle sessioni che funzionano esattamente come i cookie, ma che valgono solamente per la sessione in uso..in ogni caso non mandare mai la password in chiaro ma criptala sempre (ad esempio con la funzione MD5)
Inotre attraverso un semplice clic su un URL costruito ad hoc gli utenti di Internet Explorer diventano potenzialmente vulnerabili alla rivelazione dei cookies presenti sulla loro macchina (http://www.peacefire.org/security/iecookies)
Solitamente viene salvato tutto all'interno delle sessioni che funzionano esattamente come i cookie, ma che valgono solamente per la sessione in uso..in ogni caso non mandare mai la password in chiaro ma criptala sempre (ad esempio con la funzione MD5)
Se vi va di dare un'occhiata ai miei disegni e lasciare un commento ne sarei molto felice:
http://www.facebook.com/#/album.php?aid ... 1431940143 =)
http://www.facebook.com/#/album.php?aid ... 1431940143 =)
-
YourEmployer
- Scoppiettante Seguace

- Messaggi: 519
- Iscrizione: sabato 16 giugno 2007, 17:21
- Località: Vercellese
- Contatti:
Re: PHP & COOKIE: sicurezza.
Non invio mai password, nè criptate nè "pulite".
Però come posso risolvere?
nel senso: qui sul forum di Ubuntu io eseguo il login, e poi la sessione dura tanto tempo.
sai indicarmi qualche link utile per chiarimenti?
ps: noto che i cookie di questo forum sono codici apparentemente senza significato...
Vincenzo.
Però come posso risolvere?
nel senso: qui sul forum di Ubuntu io eseguo il login, e poi la sessione dura tanto tempo.
sai indicarmi qualche link utile per chiarimenti?
ps: noto che i cookie di questo forum sono codici apparentemente senza significato...
Vincenzo.
Rape me again
- danilo.rossini
- Entusiasta Emergente

- Messaggi: 1200
- Iscrizione: sabato 23 febbraio 2008, 10:32
- Località: Cuneo - Genova
Re: PHP & COOKIE: sicurezza.
Quando dichiari una sessione puoi settare il tempo si expires, prova a vedere la documentazione ufficiale del php.vincenzo2342 ha scritto: Non invio mai password, nè criptate nè "pulite".
Però come posso risolvere?
nel senso: qui sul forum di Ubuntu io eseguo il login, e poi la sessione dura tanto tempo.
sai indicarmi qualche link utile per chiarimenti?
ps: noto che i cookie di questo forum sono codici apparentemente senza significato...
Vincenzo.
Per quanto riguarda invece le vulnerabilità dei cookie basta che su google fai una ricerca con "Vulnerability cookie" o qualcosa di simile.
Ciao
Se vi va di dare un'occhiata ai miei disegni e lasciare un commento ne sarei molto felice:
http://www.facebook.com/#/album.php?aid ... 1431940143 =)
http://www.facebook.com/#/album.php?aid ... 1431940143 =)
-
YourEmployer
- Scoppiettante Seguace

- Messaggi: 519
- Iscrizione: sabato 16 giugno 2007, 17:21
- Località: Vercellese
- Contatti:
Re: PHP & COOKIE: sicurezza.
Grazie farò una ricerca.
ma per non modificare troppo il codice, penso che sia ottimale una modifica del tipo:
quando eseguo la setcookie() genero un codice casuale di 10 cifre e le inserisco nel database.
ad ogni connessione successiva controllo che il codice nel cookie di una persona sia uguale a quello nel DB.
Può andar bene, vero?
Grazie, Vincenzo.
ma per non modificare troppo il codice, penso che sia ottimale una modifica del tipo:
quando eseguo la setcookie() genero un codice casuale di 10 cifre e le inserisco nel database.
ad ogni connessione successiva controllo che il codice nel cookie di una persona sia uguale a quello nel DB.
Può andar bene, vero?
Grazie, Vincenzo.
Rape me again
- danilo.rossini
- Entusiasta Emergente

- Messaggi: 1200
- Iscrizione: sabato 23 febbraio 2008, 10:32
- Località: Cuneo - Genova
Re: PHP & COOKIE: sicurezza.
Ok, potrebbe andare..se al momento del salvataggio nel database gli fai un MD5($codice_casuale) sei comunque più tranquillo.. al momento del controllo ti basta poi fare un if ( $_COOKIE["codice_casuale"] == MD5($riga["codice_casuale"]) )
Se vi va di dare un'occhiata ai miei disegni e lasciare un commento ne sarei molto felice:
http://www.facebook.com/#/album.php?aid ... 1431940143 =)
http://www.facebook.com/#/album.php?aid ... 1431940143 =)
- garak
- Entusiasta Emergente

- Messaggi: 1649
- Iscrizione: lunedì 13 giugno 2005, 13:37
- Desktop: Gnome
- Distribuzione: Ubuntu 24.04
- Sesso: Maschile
- Località: Roma
- Contatti:
Re: PHP & COOKIE: sicurezza.
Vincenzo, confermo che la soluzione che hai scritto nel primo post è altamente insicura.
Purtroppo anche l'ultima (quella della verifica con un valore salvato su db) non è immune ad attacchi come quelli suggeriti da Danilo. Puoi migliorarla un po' memorizzando anche altri dati sull'utente, come per esempio indirizzo IP e stringa del browser e poi verificando che tutti i dati coincidano.
Purtroppo anche l'ultima (quella della verifica con un valore salvato su db) non è immune ad attacchi come quelli suggeriti da Danilo. Puoi migliorarla un po' memorizzando anche altri dati sull'utente, come per esempio indirizzo IP e stringa del browser e poi verificando che tutti i dati coincidano.
-
YourEmployer
- Scoppiettante Seguace

- Messaggi: 519
- Iscrizione: sabato 16 giugno 2007, 17:21
- Località: Vercellese
- Contatti:
Re: PHP & COOKIE: sicurezza.
Ma.....l'IP non cambia dall'oggi al domani? cioè ogni volta che ti riconnetti il provider te ne assegna uno diverso, o no?garak ha scritto: Vincenzo, confermo che la soluzione che hai scritto nel primo post è altamente insicura.
Purtroppo anche l'ultima (quella della verifica con un valore salvato su db) non è immune ad attacchi come quelli suggeriti da Danilo. Puoi migliorarla un po' memorizzando anche altri dati sull'utente, come per esempio indirizzo IP e stringa del browser e poi verificando che tutti i dati coincidano.
Inoltre se qualcuno naviga facendo zapping col browser, avrebbe fastidio..
faccio un codice casuale alfanumerico, lo passo sotto SHA1(MD5($codice12cifre)).$codice2;
forse forse...
Rape me again
- garak
- Entusiasta Emergente

- Messaggi: 1649
- Iscrizione: lunedì 13 giugno 2005, 13:37
- Desktop: Gnome
- Distribuzione: Ubuntu 24.04
- Sesso: Maschile
- Località: Roma
- Contatti:
Re: PHP & COOKIE: sicurezza.
E quanto deve durare la tua sessione? Di solito uno alla sera spegne il pc e il giorno dopo rifà il loginvincenzo2342 ha scritto: Ma.....l'IP non cambia dall'oggi al domani? cioè ogni volta che ti riconnetti il provider te ne assegna uno diverso, o no?
Zapping? ???vincenzo2342 ha scritto: Inoltre se qualcuno naviga facendo zapping col browser, avrebbe fastidio..
Ma puoi fare tutte le magie che vuoi, però se uno ruba il cookie ad un'altro utente, non c'è magia che tenga. Devi mettere dei controlli sul client.vincenzo2342 ha scritto: faccio un codice casuale alfanumerico, lo passo sotto SHA1(MD5($codice12cifre)).$codice2;
forse forse...
-
YourEmployer
- Scoppiettante Seguace

- Messaggi: 519
- Iscrizione: sabato 16 giugno 2007, 17:21
- Località: Vercellese
- Contatti:
Re: PHP & COOKIE: sicurezza.
Su questo forum il mio login dura diversi giorni....ogni mattina non rifaccio il login.garak ha scritto:E quanto deve durare la tua sessione? Di solito uno alla sera spegne il pc e il giorno dopo rifà il loginvincenzo2342 ha scritto: Ma.....l'IP non cambia dall'oggi al domani? cioè ogni volta che ti riconnetti il provider te ne assegna uno diverso, o no?
Zapping? ???vincenzo2342 ha scritto: Inoltre se qualcuno naviga facendo zapping col browser, avrebbe fastidio..Ma puoi fare tutte le magie che vuoi, però se uno ruba il cookie ad un'altro utente, non c'è magia che tenga. Devi mettere dei controlli sul client.vincenzo2342 ha scritto: faccio un codice casuale alfanumerico, lo passo sotto SHA1(MD5($codice12cifre)).$codice2;
forse forse...
zapping intendo cambiare browser (è raro, lo so...lo faccio solo io che provo il sito con firefox e con ie4linux )
Per la durata delle sessioni, ho trovato qualcosa, ma bidogna modificare il php.ini, cosa che non posso fare nel mio dominio >:(
Vincenzo.
Rape me again
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 7 ospiti