Ciber Geek >

hash

2 formas poco ortodoxas de cambiar la contraseña de WordPress

Si pueden hacer mediante la función de recordar contraseña, listo, no busquen mas, utilicen esa opcion. El tema es que a veces no se puede, tal vez hay algo mal configurado, o no queremos que el cliente se entere, por lo que enviarle un mail no es una opción (no sean boludos y envíenselo igual).

Restaurar la contraseña de WordPress con acceso mediante FTP

Para cambiar la contraseña si tienen acceso mediante FTP, o como sea que tengan acceso al archivo “functions.php” de la plantilla que están utilizando, pueden añadir el siguiente código para realizar el cambio de contraseña.

if($_GET['parametroprivado']){
var_dump(get_users(array( 'fields' => array( 'display_name', 'ID'))));
}

if($_GET['nuevapassword'] && $_GET['idusuario']){
wp_set_password( $_GET['nuevapassword'], $_GET['idusuario'] );
}

¿Qué te fumaste, pibe? ¡Nada, lo juro! Ahora les explico el porque de esos parámetros locos, como pista les cuento que es pura paranoia.

La idea del script anterior es la siguiente, al añadir esas lineas dentro de las etiquetas <?php ?> en su archivo “functions.php”, lo que hace es mostrar los usuarios y sus respectivas IDs, pero solamente si la URL tiene el parámetro “parametroprivado“, de otro modo estarían largando cosas al mundo exterior, y si bien no representa un problema de seguridad tan grave, al menos no en éste caso que solo estamos mostrando la ID y el nombre de usuario, si puede resultar feo para los usuarios que van a cargar una pagina y se van a encontrar con un pedazo de código PHP listando sus usuarios.

¿Para que necesito la ID y el nombre de usuario?

La ID es porque la necesitan pasar como parámetro en el paso 2, y el nombre es para saber que ID se corresponde con cada usuario.

Para ver el listado su URL deberia quedar mas o menos así.

http://susitio.com/?parametroprivado=1

Cambiar la contraseña

Supongamos que hicieron el paso anterior y ya vieron cual era la ID del usuario al que le quieren cambiar o poner una nueva contraseña (sé que alguien puede haber borrado sin querer un campo en la base de datos).

Ahora para realizar el cambio van a tener que acceder a la siguiente URL, y añadir como parametros la ID del usuario y la nueva contraseña.

http://susitio.com/?nuevapassword=123456&idusuario=2

Donde nuevapassword es la nueva contraseña, e idusuario es la ID que vieron anteriormente.

Y bueno, después de que cargue dicha URL la contraseña se va a ser la que pasaron como parámetro.

Restaurar la contraseña de WordPress con acceso la base de datos

La otra forma es hacerlo mediante la base de datos, por ejemplo con PHPMyAdmin pueden acceder a la base de datos donde está instalado WordPress, ir a la tabla “wp_users” y buscar el campo “user_pass” del usuario al que le quieren modificar la contraseña, en dicho campo deben ingresar el hash MD5 de la contraseña, para hacerlo pueden usar alguno de los servicios para generar estos hashes.

Así se vería la tabla luego de que le ingresan la contraseña hasheada, específicamente el campo “user_pass” es el que tiene esos “códigos raros”.

wodpress contraseña md5

MD5 “común”

Un detalle es que WordPress soporta MD5 por cuestiones de retrocompatibilidad, pero cuando detecta que una contraseña esta hasheada utilizando este algoritmo, la “re-hashea” utilizando algo un poco mas robusto, por lo que si luego de iniciar sesión vuelven a ingresar, van a ver que el valor en el campo “user_pass” cambió.

wordpress contraseña hash

Contraseña “re-hasheada” por WordPress

Magia, si tienen consultas dejen un comentario e intentaré ayudarlos.