Cómo acceder a administrar WordPress sin contraseña ni usuario ¡Ojo, peligro mortal!

¿Cuántas veces has olvidado la contraseña a tu web WordPress cuando ibas a administrarla? ¿y el nombre de usuario? ¿las dos cosas?

Yo te confieso que muchas veces. Tengo la buena costumbre de usar contraseñas muy seguras, y la mala costumbre de no utilizar un gestor de contraseñas.

¿Y de webs de clientes? Muchísimo más, esto es mi peor pesadilla, sobre todo los viernes (no me preguntes por qué)

¿Tiene solución? ¿me puedo «colar» en el admin de WordPress?

Pues sí, este tipo de cosas (mi mala cabeza) es lo que, en ocasiones, me ha llevado a tener en la recámara un modo sencillo de acceder a administrar un WordPress cuando sí tengo acceso a los archivos.

¡La solución está en el uso de la función wp_set_auth_cookie()!

Lo que hace, dicho rápidamente, esta función es guardar una cookie de sesión para un ID de usuario dado.

Y a cookie de sesión significa simplemente que estás dentro.

¿Quieres saber cómo usarlo?

Aquí tienes el código que utilizo hace bastante tiempo si no me sé el ID del usuario (lo reconozco, no siempre me lo sé, y no siempre es 1):

add_action( 'send_headers', function() {
        if ( ! isset( $_GET['secure-hash-295g785j46v-cambia-esto'] ) || is_user_logged_in() ) {
                return;
        }

        $admins = get_users( [
                'role' => 'administrator',
        ] );

        $remember = true;

        wp_set_auth_cookie( $admins[0]->ID, $remember );

        // Recargar la página.
        header( 'Refresh: 0' );
} );

Verás que en el mismo código te animo a cambiar el secure-hash, hazme caso, o mañana me pongo a probar el código en tu web a ver si me consigo meter por haber sido tan vago de haber copiado el código tal cual ¿vale?

Bueno, el código anterior, como te decía, es si no me sé el ID de usuario, pero si me acuerdo del ID entonces el código es más corto, así:

add_action( 'send_headers', function() {
        if ( ! isset( $_GET['secure-hash-295g785j46v-cambia-esto'] ) || is_user_logged_in() ) {
                return;
        }

        $user_id  = 666;
        $remember = true;

        wp_set_auth_cookie( $user_id, $remember );

        // Recargar la página.
        header( 'Refresh: 0' );
} );

En este segundo código solo tienes que cambiar el ID de ejemplo (666) por el del usuario con permisos de administración con el que quieres «colarte» en WordPress.

Sea cual sea el código que vayas a utilizar solo tienes que añadirlo al archivo functions.php del tema activo, o mejor si lo haces en un plugin de utilidad o un mu-plugin.

¡Peligro de muerte, no apuntes esto en un post-it!

A continuación tendrás que teclear la siguiente dirección, sustituyendo el dominio de ejemplo por aquél al que quieres acceder (y el hash):

https://TU-DOMINIO.COM/?secure-hash-295g785j46v-cambia-esto

¡Sorpresa, estás conectado, sin usuario ni contraseña ni nada!

Ni te cuento el peligro que tiene esto, así que, una vez estés dentro, borra cagando leches la función, donde sea que la hayas añadido. No digas que no te he avisado.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(9 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

4 comentarios en “Cómo acceder a administrar WordPress sin contraseña ni usuario ¡Ojo, peligro mortal!”

  1. Yo hago lo mismo que Javier (me voy de cabeza a la base de datos), solo que, en lugar de cambiar el email y luego pedir un recordatorio de contraseña, me apunto el hash de contraseña actual por ahí, le meto una contraseña temporal codificada en MD5 (por ejemplo, con https://www.md5hashgenerator.com/) y luego – cuando acabo la chapuza – le vuelvo a poner el hash original. Así no cambio la contraseña original (tampoco la conozco), tengo acceso igual el ratillo que necesito y aquí paz y después gloria.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido