PHP  »  Guide  »  Guida sicurezza di PHP 

Spacciarsi per qualcun altro: session hijacking - II



Session hijacking - steal

Command injection flaws

Esattamente come sopra, questa volta però la visualizzazione dei file di sessione su server è demandata ai comandi shell (ove si riesca nell'intento ovviamente). Salvando le sessioni su db si evita questo tipo di attacco, a meno di non riuscire a "scovare" le password di accesso allo stesso. Cosa che per la verità richiede solo pazienza, dacché gli script PHP generalmente sono in chiaro e quindi è possibile leggervi le password di connessione.

Già che abbiamo affrontato l'argomento: è bene usare tool appositi di terze parti che criptano e semicompilano il codice sorgente dei nostri script PHP, per lo meno in caso di applicazioni che vadano al di là del semplice sito Web.

Furto del SID

Per utenti facenti parte di una stessa organizzazione od a stretto contatto, se il SID viene propagato via query string è possibile che venga visto da qualcuno - cui per la verità dovrei fare i complimenti per rapidità di sguardo e memoria - e replicato altrove, sempre in query string, prima dello scadere della sessione.

Sniffer

Se il SID viene propagato via query string o cookies, si è in rete locale e si usa una connessione non cifrata, è sufficiente uno sniffer di rete al fine di rubare SID (e ben altro): i packet sniffer sono programmi che intercettano il traffico di rete, dipendentemente dalla topologia della rete stessa, mostrando tutto ciò che attraverso tale rete le parti si scambiano, compresi login, password, e-mail private, e via discorrendo.

Va da sé che l'unico rimedio possibile per evitare lo sniffing è usare un sistema di tunneling SSL per proteggere i dati in transito. Nell'immagine seguente è mostrato come ricavare, via sniffer, nome utente e password di un utente terzo che in rete locale è in procinto di verificare se gli sono arrivati messaggi di posta, via webmail.

Figura 4: uno sniffer in azione (clicca per ingrandire)

Uno sniffer in azione

Su questa guida non viene spiegato né cos'è, nel dettaglio, nè come utilizzare il sistema di tunneling cifrato SSL, Secure Socket Layer: a tal fine si rimanda ad altre guide e fonti Internet.

Ultimi articoli PHP

Sessioni PHP: cosa sono, come si usano

Dalla configurazione di PHP, alla gestione delle sessioni in un...

Continuous Integration: automatizziamo i client con Phing

Continuous Integration: automatizziamo i client con Phing. Esempi...

Archiviazione delle applicazioni PHP con Phar

Come incorporare intere applicazioni PHP all'interno di un singolo...

I traits in PHP 5.4

Cosa sono, a cosa servono e come si unsano i traits, la novità per...

PHP 5.4: il web server integrato

Impara ad usare il web server integrato nella versione 5.4 di PHP:...

Altri articoli

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti