Joomla.it Forum
Non solo Joomla... => Sicurezza => : danielecr 20 May 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
-
come fanno a rubarti l'id di una sessione attiva?
-
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.
-
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.
-
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.
-
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 :):):)
-
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.
-
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:
se ritieni che questa sia una delle cause vuol dire che per prevenire l'hijacking dell'id della sessione devi prevenire le sqlinj.
-
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?
-
se cerchi un po' trovi che ci sono tante vulnerabilità per memcached quante quelle per joomla
-
E invece la creazione di files? Magari al livello superiore rispetto alla root del sito. A occhio mi sembra l'opzione migliore..
-
non saprei ma ritengo sia tempo sprecato anche perchè con una sqlinj spesso puoi fare tante cose
-
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.