Autore Topic: Prevenire il session hijacking  (Letto 958 volte)

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Prevenire il session hijacking
« il: 20 Mag 2017, 13:53:22 »
Ciao a tutti,
sto cercando una soluzione/estensione per cercare di prevenire il session hijacking: usate o conoscete qualcosa?

NB: non cerco una soluzione per prevenire il login multiplo su un account (quindi la creazione di una seconda sessione attiva), ma qualcosa per prevenire il furto dell'id di una sessione attiva (quella dell'utente super user nel mio caso) che possa essere usato contemporaneamente da una seconda entità.

Grazie

Offline Ahmed Salvini

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #1 il: 20 Mag 2017, 14:34:42 »
come fanno a rubarti l'id di una sessione attiva?

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #2 il: 20 Mag 2017, 15:16:25 »
Con una sql injection ad esempio, oppure tramite il download del configuration.php e accesso al database non da localhost (se è "mal" configurato); insomma, basta che si abbia l'accesso al database in un qualunque degli n metodi.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 28064
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
    • Xataface Italia
Re:Prevenire il session hijacking
« Risposta #3 il: 20 Mag 2017, 15:27:33 »
Download del configuration.php? Accesso al db? Ma allora ti vuoi difendere dall'amministratore, chi se no può scaricare il configuration e avere i dati di accesso al db, peraltro basterebbe solo il configuration, ma vorrei mi spiegassi come si fa un download del configuration.php.
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #4 il: 20 Mag 2017, 15:37:11 »
Ci sono diversi exploit, vecchi per carità, che permettono il download del configuration.php.
Molto più recente è l'sql injection di joomla 3.7.0: in caso di super user loggato si può rubare dal database l'id della sua sessione e avere accesso al pannello di controllo senza conoscerne la password.

Offline Ahmed Salvini

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #5 il: 20 Mag 2017, 16:42:14 »
Con una sql injection ad esempio
-----------------------------------------------
 se ritieni che questa sia una delle cause vuol dire che per prevenire l'hijacking dell'id della sessione devi prevenire le sqlinj.

cmq si presume di trovare una sessione amministratore attiva nel momento dell'sqlinj... un bel culo se riesce. E questo ti fa pensare ad una buona regola di comportamento: ci si logga come superadmin solo il tempo necessario a fare quello che si deve fare e se quello che si fa solitamente richiede permessi più bassi è meglio crearsi un utente amministrativo con privilegi ridotti.

...la sicurezza è prima di tutto un atteggiamento ... ma forse l'avete già sentita :):):)

« Ultima modifica: 20 Mag 2017, 16:56:56 da Ahmed Salvini »

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #6 il: 20 Mag 2017, 17:06:49 »
Si sono d'accordo con quello che dici. Ma vorrei però rimanere in tema e capire se esiste qualcosa che permetta di bloccare direttamente l'hijacking.
« Ultima modifica: 20 Mag 2017, 17:09:21 da danielecr »

Offline Ahmed Salvini

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #7 il: 20 Mag 2017, 17:47:54 »
la sessione lega l'utente all'applicazione, non appartiene a joomla ma a php.
Se l'applicazione si basa su questa per riconoscerti tramite una request l'unica è creare un altro modo per riconoscerti tramite la request e salvarlo nel db... (dove altro sennò?). Ma l'hacker se ne accorge e cerca anche quel valore nell'inj e siamo daccapo.

se esistere vuol dire che qualcuno lo ha già scritto direi di no, al max trovi ancora in giro l'estensione di mmleoni.
se esistere è riferito a se esiste il modo, mi riquoto:
Citazione
se ritieni che questa sia una delle cause vuol dire che per prevenire l'hijacking dell'id della sessione devi prevenire le sqlinj.

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #8 il: 20 Mag 2017, 19:26:11 »
Ok chiaro.
Ho visto che a livello di firewall esiste un'estensione, che non nomino perché a pagamento, che praticamente cerca se esiste una sessione attiva nel database, e se cambia l'ip o lo user agent cancella la sessione: vero che l'attaccante non entra, ma pure il super user viene sbattuto fuori..

Non sarebbe più sicuro impostare in joomla il session handler su memcached o php al posto che database? Come la pensate?
« Ultima modifica: 20 Mag 2017, 19:47:07 da danielecr »

Offline Ahmed Salvini

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #9 il: 20 Mag 2017, 20:57:15 »
se cerchi un po' trovi che ci sono tante vulnerabilità per memcached quante quelle per joomla

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #10 il: 20 Mag 2017, 21:04:41 »
E invece la creazione di files? Magari al livello superiore rispetto alla root del sito. A occhio mi sembra l'opzione migliore..

Offline Ahmed Salvini

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #11 il: 20 Mag 2017, 21:35:31 »
non saprei ma ritengo sia tempo sprecato anche perchè con una sqlinj spesso puoi fare tante cose

Offline danielecr

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:Prevenire il session hijacking
« Risposta #12 il: 20 Mag 2017, 21:40:11 »
Ti ringrazio per aver partecipato alla discussione intanto. Anche se le probabilità di session hijacking almeno nel mio caso ritengo siano molto remote, credo opterò comunque per la scelta di scrivere files di sessione.

 

Torna su