[LOW-MED] PHP Session hijacking

tang

Bannato a Vita
137
24
Pensate di avere un conto in banca, e di utilizzare il pannello di controllo online per gestire le varie operazioni di invio bonifico, ricarica carta etc

Ora pensate che un giorno effettuate il login nel cp della vostra banca e quando andate via venite sul mio sito senza aver effettuato il logout dal cp della vostra banca, io sul mio sito ho un immagine, che voi vedete come X, il cui SRC e`

http://vostrabanca/do.jsp?transfer=MYACCOUNT&amout=1000

Questo e` il session hijacking, sfruttare la sessione aperta di un utente, su di un sito per fargli compiere a sua insaputa azioni

Come si combatte il session hijacking?

Il modo di combattere questa pratica sta nel generare un codice random da utilizzare con le sessioni PHP, semplicemente se avete una form aggiungete il campo
Codice:
session_start();
session_regenerate_id();

function generaCodiceRandom($len = 5)
{
    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    $max = strlen($chars)-1;
    $code = "";
    do {
        srand();
        $code .= $chars[(rand() % $max)];
    } while(strlen($code) < $len);
    return $code;
}
                


$code = generaCodiceRandom();

$_SESSION["codice_random"] = $code;
<input type="hidden" name="codice_random" value="<?php echo $code; ?>"></input>
E nella pagina che riceve i dati in POST si dovra` controllare che il valore di $_SESSION["codice_random"] sia lo stesso di $_POST["codice_random"] e settare cio` che avete in sessione a empty
 
Ultima modifica:

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot del momento