[Joomla]Une faille de sécurité importante a été detectée

14 août, 2008 ·

Si vous utilisez Joomla! 1.5.x , et que vous avez pas mis à jour votre site avec la version 1.5.6 , soyez prudents , car vous pouvez être Piratés ( des pirates Polonais ont utilisé ce bug contre des sites turc et j'ai compris qu'ils ont utilisé l'injection SQL ) .

Cette faille de sécurité importante a été détectée dans Joomla le 12 Août 2008.Heureusement c'est corrigé trop vite (le même jour) , car c'est critique , puisque c'est directement relié à la réinitialisation du mot de passe des utilisateurs en particulier l'utilisateur qui a le plus petit ID , et c'est l'administrateur du site (dans la plupart des cas) .

Quelques information sur cette faille:
  • Projet: Joomla!
  • Sous-projet: com_user
  • Gravité: Critique
  • Versions: 1.5.5 et toutes les versions 1.5.x
  • Type : Réinitialiser le mot de passe
  • Date de Rapport: 12 Août 2008
  • Date de la correction: 12 Août 2008
  • Bug signalé par: Joomla! Bug Squad Member Marijke Stuivenberg
Le mot de passe dans Joomla/Mambo ne peuvent pas être récupérés puisqu'ils sont crypté avec une fonction de hachage unidirectionnelle (MD5). Et c'est pourquoi , on peut juste les réinitialiser.
Toutefois, la seule façon de corriger complètement la question est une mise à niveau 1.5.6 (Trouvez la mise à jour dans le site officiel de Joomla!) , ou bien en modifiant le fichier reset.php (dans le dossier : \components\com_user\models) à la ligne 113 après global $mainframe; ajoutez :

if(strlen($token) != 32) { $this->setError(JText::_('INVALID_TOKEN')); return false; }
Si vous ne pouvez pas attendre cette mise à jour de la version française, ajoutez le code ci dessus.


Je vais vous donner le code de l'exploitation car il a été rendu publique ici

En appelant le lien :
http://votresiteJoomla.com/index.php?option=com_user&view=reset&layout=confirm

On vous propose de réinitialiser le mot de passe administrateur et d'entrer un jeton , qui a été envoyé par mail , lorsqu'on clique sur j'ai oublié mon mot de passe .Mais avec un jeton spécial : ' , le site Joomla! vous propose directement de réinitialiser le mot de passe .
En jetant un coup d'œil sur la ligne suivante du fichier /components/com_user/models/reset.php vous pouvez comprendre :
SELECT id FROM #__users WHERE block = 0 AND activation = '.$db->Quote($token)
et en ajoutant un ' on aura le code suivant :
SELECT id FROM jos_users WHERE block = 0 AND activation = ''

Et c'est pourquoi en ajoutant les lignes suivants comme expliqué ci dessus :
if(strlen($token) != 32) { $this->setError(JText::_('INVALID_TOKEN')); return false; }

on met une condition sur la taille du Token , qui envoyé au mail de l'administrateur se comporte de 32 caractères exactement .
Je me permet de vous parler de cette faille juste parce qu'elle est rendue publique ,il est aussi important de connaître les failles et leurs exploitations pour se vacciner .
Je répète que ce bug peut être mal-utilisé par des curieux alors faites vite et protégez vos sites .
Pour plus d'information visitez joomlafrance.org ou le blog de Joomla.org .
P.S:Si votre site utilise Joomla! 1.0.x , c'est pas la peine de faire ça , car l'exploitation de la faille ne marchera pas .(Un message du genre : “Vous n’êtes pas autorisé(e) à accéder à cette ressource” apparaîtra en essayant d'exploiter ce bug)
Bref je vous conseille de mettre à jour vos sites.

_____________________________

Suivez moi sur Twitter

Amri Aymen on Twitter

web-01 sur facebook

Réseaux

Sponsors

Connectez-vous sur ScoopAD.com avec eon01 comme parrain !

Profil facebook

A propos

Ce blog est tout d'abord un lieu de partage et d'échange d'idées.Retraçant l'actualité du web,j'hésite pas à poster mes découvertes,mes trouvailles,mes projets,mes références et mes innovations.Vous trouverez des astuces,des conseils,des outils et des tutoriels basés sur ma modeste expérience sur le web.Chers amis lectrices et lecteurs, soyez les bienvenus.