Recuperar contraseña de Super administrador en Joomla!

Escrito por Carlos M. Cámara.

password by admx-d3jude4 300x200Al olvidar la contraseña de nuestro sitio o al sufrir un ataque, tendremos que recuperar la contraseña de Super Administrador en Joomla!. Vemos cómo hacerlo.

En las primeras versiones de Joomla! 1.5, recuperar la contraseña de usuario era muy sencillo, tan sólo necesitábamos encriptarla con el método de MD5 y guardar el resultado en la base de datos. No obstante, en las últimas versiones de Joomla! 1.5 y por supuesto en Joomla! 2.5, la seguridad mejoró considerablemente y con ello la forma en la que podemos recuperar la contraseña.

Recuperación a través del email de administrador

Si tenemos acceso al email de registro del usuario, la opción más sencilla es utilizar la función de recordar contraseña que viene de serie con Joomla!. Para ello simplemente tenemos que acceder a la siguiente dirección de nuestro sitio:

http://tusitio.com/index.php?option=com_users&view=reset

Por supuesto debéis sustituir tusitio.com por la dirección de vuestro sitio. Esta opción también es compatible con Joomla! 1.5.

Recuperación a través de la base de datos

Si no recordamos el email del usuario o no tenemos acceso al mismo ¡que no cunda el pánico! Si tenemos acceso a la base de datos, podemos solucionarlo. Para ello acceded a vuestra base de datos (lo más común es utilizar phpMyAdmin a través del panel de control de vuestro servidor.

Una vez dentro de vuestra base de datos, tendréis que buscar la tabla XXX_users (donde XXX en vuestro caso serán letras diferentes ya que es una combinación aleatoria única para cada sitio) y buscar en esta tabla el usuario para el que queréis recuperar la contraseña. Una vez encontrado editáis el usuario, y cambiáis el contenido del campo password por el siguiente:

d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

Guardáis y podréis acceder a vuestro sitio fácilmente con el usuario al que le acabáis de cambiar la contraseña y la contraseña secret.

Explicación detallada

¿Qué es lo que hemos hecho? ¿Por qué el método antiguo no sirve? Como apuntaba al comienzo del artículo, el mecanismo de encriptación del password en Joomla! ha cambiado ligeramente entre versiones. En un principio, se almacenaba con una simple encriptación MD5, pero este método es muy vulnerable a ataques como por ejemplo el de tabla arco iris.

Para mejorar esto, el método actual consiste en añadir una palabra aleatoria (llamada sal) a la contraseña antes de encriptarla, de forma que se guardan ambas en el campo contraseña en la forma:

Contraseña+Sal:Sal

por lo que aunque dos usuarios tengan la misma contraseña, nunca aparecerán iguales en la tabla de usuarios puesto que la sal es generada aleatoriamente en cada ocasión.

Podéis ver esto simplemente cambiando varias veces la contraseña y viendo el valor que aparece en la base de datos ;).

¿Habéis tenido que recurrir a estas técnicas alguna vez?

Referencias

Documentación oficial del wiki de Joomla! para recuperar el password de usuario (inglés)

Recuperar la contraseña del Super Administrador de Joomla! 1.5

Explicación de la generación de contraseñas en Joomla! 2.5 en StackOverflow (inglés)

La imagen de cabecera es obra de admx en deviantART.

Sobre el autor
Carlos M. Cámara
Author: Carlos M. Cámara

Me apasiona el desarrollo web y trabajar para conseguir una web que cumpla con sus visitantes y sus propietarios y siempre estoy dispuesto a trabajar en proyectos interesantes. Mi especialidad es resolver problemas ;o).

Trabajo con Joomla! desde sus inicios y desde 2010 colaboro activamente con JEvents ayudando a otros usuarios a poder comunicar sus eventos y desarrollando partes del componente.

Contactar


Comentarios  

 
0 #1 Carlos 15-01-2013 16:51
Gran método, sin embargo para casos de hackeo u otro problema como por ejemplo que no recuerde el email, Particularmente utilizo otro método.
Normalmente cuando perdemos la contraseña del administrador, siempre tenemos acceso a la base de datos, en el caso que sea una base de datos Mysql o Mysqli, entro al usuario en cuestión y le cambio el valor del password generándolo en http://md5encryption.com/ Aquí puede introducir una contraseña temporal o no, y luego cambias el valor del password en la base de datos introduciendo un valor md5 completamente seguro. Luego siempre la cambio por si la web almacena las encriptaciones que hacen.
Citar
 
 
+1 #2 Carlos M. Cámara 16-01-2013 00:02
Hola Carlos, gracias por compartir tu método, es bastante parecido a la segunda forma que propongo en el artículo ;). En cualquier caso, no conocía esa página para generar un md5 ¡Gracias!

Eso sí ¡Acuérdate de añadir la sal antes degenerar el password!
Citar
 
 
+1 #3 Jessica Quinatoa 04-02-2013 15:52
Holas.

Tengo el problema de que de un día para el otro la clave de administrador fue cambiada, así que ingreso a la base de datos cambio la clave y vuelvo a ingresar, pero es realmente molestoso que cada día tenga que cambiar nuevamente la clave, el día de hoy a la clave le aumente el +Sal:Sal y voy a esperar si la cambian. Su ayuda a que puede causar el cambio de clave constantemente.

Saludos :lol:
Citar
 
 
0 #4 gustavok 26-02-2013 11:01
.La cadena correcta "secret" es la siguiente:


d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199


Saludos
Citar
 
 
0 #5 Carlos M. Cámara 28-02-2013 15:20
Ups... Creo que me faltó el último nueve ¡Gracias por avisar Gustavo! Lo edito ahora mismo.
Citar
 
 
0 #6 ferney g 15-05-2013 19:26
hey amigo muy buen apunte, me funciono, mil gracias
Citar
 

Escribir un comentario

REGLAS APLICABLES A LOS MENSAJES
  • Los comentarios serán publicados una vez que hayan sido comprobados y aprobados por un administrador del sitio.
  • No están permitidos comentarios injuriosos o amenazadores.
  • No está permitido hacer spam.
  • Los enlaces que no vayan a sitios oficiales Joomla! o que no estén relacionados con el mensaje serán editados.