Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    51

    Una questione di sicurezza 2

    Salve sono di nuovo io dopo aver passato una giornata a leggere sql injection, xss,
    session hijacking ecc ecc
    ora vi chiedo una cosa che nn ho trovato in nessun manuale fi posto un piccolo esempio

    $rq = mysql_query("select * from utenti where user='".$_POST['user']."' and psw='".$_POST['psw']."'");
    $numRecord = mysql_num_rows($rq);
    if ($numRecord==0)
    {echo "login o user errati";}
    // Se invece trovo delle occorrenze...
    else
    {
    session_start();
    $_SESSION['login']='ok';
    $_SESSION['id_utente']=$id_utente (che ricavo dal database)

    quindi con questo $_SESSION['id_utente'] eseguo query sul db

    ora se io che sono loggato fossi un hacker potrei tentare in qualche modo di risettare questa variabile $_SESSION['id_utente'] con un altro id sperando di indovinarlo e quindi eseguire query illecite???

  2. #2

    Re: Una questione di sicurezza 2

    Originariamente inviato da websun
    Salve sono di nuovo io dopo aver passato una giornata a leggere sql injection, xss,
    session hijacking ecc ecc
    ora vi chiedo una cosa che nn ho trovato in nessun manuale fi posto un piccolo esempio

    $rq = mysql_query("select * from utenti where user='".$_POST['user']."' and psw='".$_POST['psw']."'");
    $numRecord = mysql_num_rows($rq);
    if ($numRecord==0)
    {echo "login o user errati";}
    // Se invece trovo delle occorrenze...
    else
    {
    session_start();
    $_SESSION['login']='ok';
    $_SESSION['id_utente']=$id_utente (che ricavo dal database)

    quindi con questo $_SESSION['id_utente'] eseguo query sul db

    ora se io che sono loggato fossi un hacker potrei tentare in qualche modo di risettare questa variabile $_SESSION['id_utente'] con un altro id sperando di indovinarlo e quindi eseguire query illecite???
    Se non sanitizzi i dati di input sì.
    select * from utenti where user='".$_POST['user']."' and psw='".$_POST['psw']."
    con la pass nel form settata a
    codice:
    OR user='admin
    (o simili) per esempio.
    Ovviamente la passwd nel form potrebbe dover essere scritta in modo diverso per essere efficace, ma il concetto è quello...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    51
    ok. supponiamo che sanitizzo i dati usando regex addslashes ecc ecc
    quindi mi loggo e ottengo il mio
    sessionid

    e il mio $_SESSION['id_utente'] che ho ricavato dal database con il Mio id utente.

    a questo punto avendo le credenziali di accesso tramite il sessionid posso risettare $_SESSION['id_utente'] con quello di un altro provando ad indovianare???

  4. #4

    Re: Una questione di sicurezza 2

    Originariamente inviato da websun
    Salve sono di nuovo io dopo aver passato una giornata a leggere sql injection, xss,
    session hijacking
    Originariamente inviato da websun
    $rq = mysql_query("select * from utenti where user='".$_POST['user']."' and psw='".$_POST['psw']."'");
    Queste cose mi fanno girare le 0-0... Stai mentendo!!!
    Non hai fatto nemmeno un minuto una ricerca sul web!!!
    metti su google "sql injection" e il primo risultato che esce è questo:

    http://it.wikipedia.org/wiki/SQL_injection

    ...fa un esempio di sql injection... guarda un pò qual'è...

  5. #5
    Originariamente inviato da websun
    ok. supponiamo che sanitizzo i dati usando regex addslashes ecc ecc
    quindi mi loggo e ottengo il mio
    sessionid

    e il mio $_SESSION['id_utente'] che ho ricavato dal database con il Mio id utente.

    a questo punto avendo le credenziali di accesso tramite il sessionid posso risettare $_SESSION['id_utente'] con quello di un altro provando ad indovianare???
    Se questo session id_utente lo salvi in un cookie e non verifichi in modo approfondito la coerenza del'id_utente con altri dati sempre nel cookie (es. il session id), sì, posso simulare lostesso di essere un altro utente

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    51
    Carissimo nn ti alterare perchè nn hai capito cosa dico leggi con attenzione
    Il $_Session[id_utente] che creo lo creo con il valore del campo id del database a sua volta creato con un auto_increment

    io che sono utente uno loggato regolarmente con le mie credenziali ricavo il mio $_SESSION[id_utente].
    Ora io voglio tentare di reimpostarlo

  7. #7
    Originariamente inviato da websun
    Carissimo nn ti alterare perchè nn hai capito cosa dico leggi con attenzione
    Il $_Session[id_utente] che creo lo creo con il valore del campo id del database a sua volta creato con un auto_increment

    io che sono utente uno loggato regolarmente con le mie credenziali ricavo il mio $_SESSION[id_utente].
    Ora io voglio tentare di reimpostarlo
    Ma questo lo fai al login...dopo non ti serve interrogare il db cercando nella tabella utente ma nella tabella delle sessioni, usando i dati salvati in un cookie (o almeno questo sarebbe il modo consigliato per verificare l'autenticazione dopo il login iniziale)...

  8. #8
    aprendo una sessione si invia un cookie definito SID (sesison id) che è una stringa alfanumerica (mi pare di 32 caratteri.

    Sulla base tale cookie il server legge il file di sessione corrispondente a quel SID.

    scrivere/leggere il file di sessione non è possibile farlo direttamente all'utente salvo che sia lo stesso script a consentirlo tramite procedura:
    $_SESSION['nuova_variabile_da_scrivere'] = 'valore';

    al contrario all'utente è possibile autoimpostarsi il cookie (compreso il SID): in tal caso si esegue ciò che viene comunemente definito "furto del cookie" cioè utilizzare il SID di un utente loggato e spacciarsi per lui.
    Precauzioni:
    - sessione_regenerate_id();
    - evitare di salvare dati sensibili nel cookie e nella sessione;
    - basare la scadenza del cookie su db;

    Ti sembra complicato?... lo è... in passato i dubbi che avevo li ho risolti grazie a questo forum (grazie k.b... MITICO!!)

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    51
    si ho capito ma io il $_SESSION(id_utente) lo voglio utilizzare per eseguire query di tipo update o delete quindi se riesco a reimpostarlo posso per esempio cancellare un altro utente ???

  10. #10
    Originariamente inviato da websun
    $_SESSION(id_utente) ... se riesco a reimpostarlo
    Originariamente inviato da oly1982
    scrivere/leggere il file di sessione non è possibile farlo direttamente all'utente salvo che sia lo stesso script a consentirlo tramite procedura

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.