En ocasiones uno llega a olvidar la contraseña del administrador de un CMS, si uno recuerda el email o el nombre de usuario, existe la posibilidad de usar la función “Recordar contraseña” que muchos CMS implementan. Sin embargo, puede suceder que uno no recuerde ningún dato o ha perdido el rastro de la dirección de correo de quien fuera el administador. También puede ser que el CMS simplemente no contemple recuperar o cambiar contraseñas.
Esta es una pequeña guía -genérica- para resetear la contraseña en un CMS que use una base de datos MySQL.
Vamos a necesitar una shell y acceso a MySQL vía shell.
1.- Nos conectamos al servidor.
2.- Nos conectamos a la base de datos.
PISTA. Si tampoco contamos con los datos para conectar a la base de datos, la mayoría de las veces los podemos encontrar en el archivo config. El nombre y la ruta de este archivo varía en cada CMS, así que habrá que buscarlo un poco. Algunas rutas son:
CMS Config Spip /config/connect.php Wordpress /wp-config.php Drupal /sites/default/settings.php OSCommerce /catalog/includes/configure.php Ejemplo en Worpress /wp-config.php:
define('DB_NAME', 'mi_basededatos'); define('DB_USER', 'mi_usuario'); define('DB_PASSWORD', 'mi_clave');Ejemplo en Drupal /sites/default/settings.php:
$db_url = 'mysql://mi_usuario:mi_clave@localhost/mi_basededatos';
3.- Ya conectados a la base de datos buscamos con la línea de comandos de MySQL en qué tabla pueden estar los usuarios o los administradores.
mysql> show tables;
PISTA. Por lo general las tablas tienen nombres descriptivos como ‘users’, ‘authors’, ‘administrators’, etc.
4.- Ya que ubicamos la tabla de usuarios, vemos cuál es su contenido:
mysql> SELECT * from tabla_de_usuarios;
Entonces nos mostrará los ID, nombres de usuario, las contraseñas (seguramente cifradas con MD5) y quizá otros datos dependiendo del CMS:
+----+-----------+-------------------------------------+ | id | user_name | pass | +----+-----------+-------------------------------------+ | 1 | admin | e5282b1595287ee71178042ad070d3f3 | +----+-----------+-------------------------------------+ 1 row in set (0.02 sec)
5.- Ahora vamos a actualizar el campo de la contraseña para un usuario, es posible que el usuario administrador sea el que tiene el ID = 1 o bien al ver la lista de usuarios recordemos cual era el admin o ubiquemos cúal email está asignado al admin.
mysql> UPDATE tabla_usuarios SET pass=MD5('nueva') WHERE id=1;
Donde tabla_usuarios es el nombre de la tabla de usuarios, pass es el nombre del campo de las contraseñas (MD5 cifrará la clave), nueva es la nueva contraseña que usaremos y id es el nombre del campo para el número de identificación, en este caso = 1. Lo cambiamos según se llamen los campos de la tabla usuarios del CMS. Si todo resultó bien nos regresará algo como esto:
Query OK, 0 rows affected (0.04 sec) Rows matched: 1 Changed: 0 Warnings: 0
Ahora podemos ir a la página de login del CMS y usar los datos usuario:admin y clave:nueva.
PISTA. Puede ser que al ver la lista de usuarios y emails recordemos que tenemos control sobre alguno, o que sólo sea cuestión de cambiar el email para que quien haya olvidado la contraseña pueda cambiarla con la función “Recordar contraseña” que ofrecen algunos CMS. Usamos:
mysql> UPDATE tabla_usuarios SET email=('nuevo@correo.com') WHERE id=1;
Enlaces
- Sintaxis de UPDATE | Manual de MySQL 5.0
- Cómo crear contraseñas fuertes… y recordarlas | Kriptopolis



2010 Siete Coyote +
otro truco:
en SPIP la tabla mysql qe contiene los datos de autores, editores y administradores se llama “spip_auteurs”