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.

La entrada Cómo acceder a administrar WordPress sin contraseña ni usuario ¡Ojo, peligro mortal! la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

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