noviembre 25, 2014

Recuperar contraseña de Super administrador en Joomla

Al 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)

Fuente: http://www.gnumla.com/joomla/tutoriales/recuperar-contrasena-de-super-administrador-en-joomla.html

No hay comentarios:

¿Cómo poner el conteo de las filas en una consulta en MySql?

 ¿Cómo poner el conteo de las filas en una consulta en MySql? SELECT  @rownum := @rownum + 1 AS contador,  /*Contador*/ t.*  /* nombre d...