Back to top

Autore Topic: Password Joomla 1.5, come viene controllata la password?  (Letto 6378 volte)

Offline webkingXXX

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Salve a tutti,

sto creando un piccolo componente software in PHP (stand alone, indipendente da joomla) che richiede una coppia di credenziale (username/password) per accedere. Vorrei che queste credenziali fossero controllate direttamente su un database di joomla. Per farlo perciò devo connettermi alla tabella jos_users, e tramite query controllare la presenza di una determinata copia user/password.
Qui sorge il problema:
nelle versioni precedenti, Joomla utilizzava come algoritmo di cripting la semplice funzione in php "md5()". Ora noto che il campo password è formato da una stringa in md5() più un salt (così ho appreso che si chiamano i valori oltre i ":").
Dal momento in cui l'utente che deve accedere inserirà la password non criptata, per effettuare un controllo sul db devo sapere come criptare la password inserita per poi confrontarla con quella salvata nel database. Come posso fare?

Vi ringrazio,

Alberto.

Offline maicolstaip

  • Global Moderator
  • Instancabile
  • ********
  • Post: 17623
  • Sesso: Maschio
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #1 il: 02 Feb 2010, 00:52:54 »
Ciao webkingXXX,
mi sembra un quesito piuttosto tecnico, se non ti riponde nessuno ti spostiamo nella sezione sviluppo.
A presto!
Non si risponde a PM tecnici. Postate sul forum. Grazie.

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #2 il: 02 Feb 2010, 09:33:20 »
mi sa che nella 1.5 la passwd viene codificata in un formato combinato di MD5 e SHA-1 .... ma non sono sicuro... l'avevo letto da qualche parte!
I miei viaggi: www.scarinciotto.com

Offline maicolstaip

  • Global Moderator
  • Instancabile
  • ********
  • Post: 17623
  • Sesso: Maschio
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #3 il: 02 Feb 2010, 19:22:41 »
Ciao Ciao webkingXXX,
sposto in sviluppo che magari qualcuno ne sà di più...
Ciao!
Non si risponde a PM tecnici. Postate sul forum. Grazie.

mau_develop

  • Visitatore
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #4 il: 02 Feb 2010, 19:42:21 »
Prima ti linko una mia cosina:
http://www.spazioalchimia.it/laboratorio-di-sperimentazione/1-tutto-nasce-da-un-pensiero/51-joomla-lmd5-e-solo-un-opinione

a te basta la password md5 e l'username per fare la query, il salt lo aggiunge lui e gli serve solo per verificare con le acl se sei veramente chi dici di essere.

un plugin di verifica di autenticazione di joomla è abbastanza banale, recupera la variabile $credentials che contiene i dati che inserisci nel form e dopo averla pulita fa il match con la query.

non credo tu abbia particolari problemi a realizzarlo.

... certo non è una grandissima idea fare una query (poi proprio sull'auth) esternamente il Framework, rischi di compromettere seriamente la sicurezza di tutto e non è difficilissimo riuscire a infilarsi tra le due appz.

M.

Offline webkingXXX

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #5 il: 04 Feb 2010, 02:42:40 »
Ciao, ti ringrazio per la risposta e per il link che mi hai postato. Tuttavia la questione che viene citata nella pagina linkata non è assai rilevante: l'autore parte dal presupposto di essere in grado di accedere al database tramite injection. Questo significa che ha accesso quasi diretto al db, ed il problema è assai più grosso rispetto a quello di recupero della password di amministratore. Ad ogni modo si potrebbe facilmente aggirare il problema se la stringa di attivazione fosse registrata nel DB in MD5, e mandata all'untete decriptata. In tal modo si risolverebbe la falla (credo sia già stato fatto nelle versioni 1.5.14).

Per quanto riguarda il mio modulo, sono riuscito a farcela senza il framework, ho costruito io una funzione
joomlaPassword($username, $password)
che dati in ingresso l'username e la password (decriptata dell'utente) restituisce la password criptata con il salt. In altre parole si tratta di prendere dal campo della password relative all'$username la stringa dopo il carattere ":". Questa stringa viene detta Salt.

La password finale sarà perciò cos' calcolata

$passwordToCheck=md5($password.$salt).$salt;

Ora basta effettuare una query al DB

$query="SELECT * from jos_users WHERE username='$username' AND password='$passwordToCheck'";

[...]

Se il risultato della query è 1, allora l'untete è loggato (con tutto ciò che ne consegue).

Non avendo trovato alcun italiano che abbia saputo darmi spiegazioni, spero che questo mio post sia d'aiuto a coloro che hanno necessità di sviluppare appicazioni da terze parti per joomla.

Ad essere sincero mi aspettavo di ricevere maggiori informazioni su questo forum, ma la questione è probabilmente troppo tecnica e richiede una certa competenza non comune ai comuni utilizzatori di joomla.

P.S. Per quanto riguarda la sicurezza, infilarsi nel mio condice è davvero difficile :), spero di non dovermi mai rimangiare queste parole!
« Ultima modifica: 04 Feb 2010, 02:46:35 da webkingXXX »

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #6 il: 04 Feb 2010, 08:25:58 »
la stringa di attivazione fosse registrata nel DB in MD5, e mandata all'untete decriptata.
lo dovresti fare prima di codificarla in md5 perché poi non puoi tornare indietro...

Se il risultato della query è 1, allora l'untete è loggato (con tutto ciò che ne consegue).
per sapere se è loggato non ti serve la query...
I miei viaggi: www.scarinciotto.com

mau_develop

  • Visitatore
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #7 il: 04 Feb 2010, 09:11:45 »
Non avendo trovato alcun italiano che abbia saputo darmi spiegazioni, spero che questo mio post sia d'aiuto a coloro che hanno necessità di sviluppare appicazioni da terze parti per joomla.
--------------------------------------------------------------------
sinceramente spero che nessuno faccia quello che vuoi fare tu, non lo ritenevo sano, non lo ritengo sano, non lo riterrò mai sano.

Ad essere sincero mi aspettavo di ricevere maggiori informazioni su questo forum, ma la questione è probabilmente troppo tecnica e richiede una certa competenza non comune ai comuni utilizzatori di joomla.
------------------------------------------------------------------
Mi fa piacere invece sapere che c'è qualcuno con buone competenze su Joomla e sul suo codice tanto da domandare agli altri ciò che avrebbe facilmente scoperto leggendo il codice.


P.S. Per quanto riguarda la sicurezza, infilarsi nel mio condice è davvero difficile :)
-----------------------------------------------------------------
Se fai le cose di cui sopra dubito molto

la stringa di attivazione fosse registrata nel DB in MD5, e mandata all'untete decriptata.
----------------------------------------------------
Se poi ragioni così i dubbi diventano certezze...

si tratta di prendere dal campo della password relative all'$username la stringa dopo il carattere
------------------------------------------------------
così una cosa fatta per incrementare la sicurezza se ne va a farsi fottere.... sei un genio!


... ma sono solo opinioni ;) .... aria fritta, pura vida!

M.
« Ultima modifica: 04 Feb 2010, 09:40:19 da mau_develop »

Offline webking

  • Nuovo arrivato
  • *
  • Post: 8
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #8 il: 04 Feb 2010, 21:09:32 »
@scarinciotto
Grazie sanciotto, si ovviamente ptrima il codice di attivazione andrebbe mandato all'utente via email in forma chiara, poi "storata" in DB criptata. In tal modo chi si infiltra non ha modo di modificare la pass.
Per la questione dell'utente "loggato" mi sono espresso male, mi serve solo per sapere se l'utente ha immesso i dati corretti.

@mau_develop
Rispondo non per colpo ferire, ma semplicemente perchè non mi pare giusto essere attaccato così da chi pretende di sapere quanto sia valido sicuro il mio codice senza neppure averlo guardato.

Tanto per essere chiari: ho cercato di seguire esattamente la politica delle funzioni del frameweork di joomla.

INOLTRE: come utente finale, sono d'accordo con le estensioni Open Source e l'utilizzo di fuznioni di terze parti. Tuttavia da programmatore non mi fido assolutamente del lavoro svolto da altri e non da me stesso. Paradossalmente preferisco che il mio sito sia più vulnerabile, a costo però di sapere come è stato sviluppato e di conoscerne ogni riga di codice.
Ho deciso di utilizzare Joomla per semplice comodità amministrativa, mi sembra un buon prodotto e i ragazzi di Joomla.org sono davvero fantastici.
Infine, mi rivolgo a te: se sei così bravo nel trattare la sicurezza, perchè allora non mi hai spiegato come fare il modulo? Ti sei limitato solo a dire che non si potesse fare, ma alla fine dei conti non hai saputo indicare l'informazione che domandavo. Avresti fatto più bella figura a dire che ignoravi questo aspetto di Joomla.





« Ultima modifica: 04 Feb 2010, 21:15:57 da webking »

mau_develop

  • Visitatore
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #9 il: 04 Feb 2010, 21:48:07 »
-------------------------------
Ad essere sincero mi aspettavo di ricevere maggiori informazioni su questo forum
--------------------
critichi la mano che un'incompetente come me ti ha voluto dare, sei stato tu a postare qui mica ti ho chiamato io ...per chiarezza...
...poi
----------------------
ma la questione è probabilmente troppo tecnica e richiede una certa competenza non comune ai comuni utilizzatori di joomla.
----------------------
stai snobbando e spruzzando cacca ritenendoti ad un livello più elevato...

quindi...

@mau_develop
Rispondo non per colpo ferire, ma semplicemente perchè non mi pare giusto essere attaccato

dai... su ... fa da bravino ;)

M.

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #10 il: 04 Feb 2010, 21:57:10 »
 >:(
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline webkingXXX

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #11 il: 05 Feb 2010, 17:57:55 »

critichi la mano che un'incompetente come me ti ha voluto dare, sei stato tu a postare qui mica ti ho chiamato io

Non sono stao io a criticarti, ti invito a rileggere la discussione: tu hai avanzato supposizioni sulla vulnerabilità del mio codice senza neppure averci dato uno sguardo.


stai snobbando e spruzzando cacca ritenendoti ad un livello più elevato...

quindi...


Il tuo è un modo assai volgare di esprimerti, non mi pare assolutamente di aver usato un tono del genere dai tuoi confronti. Fino a prova contraria sei stato tu a darmi dell'incompetente in materia, rileggi i post per favore.


@mau_develop
Rispondo non per colpo ferire, ma semplicemente perchè non mi pare giusto essere attaccato

dai... su ... fa da bravino ;)

M.

Vi ringrazio per l'attenzione dedicatami,
per questioni più tecniche d'ora in poi mi rivolgerò direttamente al team di development di Joomla (in inglese). Purtroppo è stato un mio errore rivolgermi qui, non potevo sapere che non ci fossero programmatori del core di Joomla.

Buona giornata.

mau_develop

  • Visitatore
Re:Password Joomla 1.5, come viene controllata la password?
« Risposta #12 il: 05 Feb 2010, 18:20:44 »
per questioni più tecniche d'ora in poi mi rivolgerò direttamente al team di development di Joomla (in inglese)
---------------------------------------------

:):):) che figo che sei, ti stimo!

M.

 



Web Design Bolzano Kreatif