Tutorial: Recupera el acceso a tu wordpress

Voldemorth

No recomendado
Verificación en dos pasos desactivada
Desde
10 Ene 2012
Mensajes
918
Recientemente llego un cliente con un sitio montado en AWS al que no podía acceder. Este sitio era evidentemente de su propiedad y le habían modificado los datos de acceso al administrador.
A efectos de solucionar el problema de una forma rapida intentando tener que moverme lo menos posible en su consola de AWS aplique este solucion que es funcional siempre y cuando puedan modificar el archivo functions del theme (ya sea por ftp o cualquier otra alternativa).
Lo que deben hacer es en su archivo functions.php agregar este codigo:

$user_email = 'micorreo@midominio.com';
$user_password = '123456';

if ( !username_exists( $user_email ) ) {
$user_id = wp_create_user( $user_email, $user_password, $user_email );

wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );

$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
wp_die( 'Success!' );
} else {
wp_die( 'Username already exists.' );
}

Este codigo creara un usuario con los datos de acceso definidos en las dos primeras lineas al acceder al sitio y nos validara esta acción con un mensaje de Success! o un Username already exists. si es que ya existe un usuario con ese correo.
Hecho esto basta con quitar o comentar el código que agregamos para acceder con el usuario que hemos creado. Una vez dentro pueden modificar las credenciales de su usuario administrador original o lo que gusten.
Recuerden siempre eliminar el usuario recien creado una vez tengan nuevamente el control de su sitio.
 

Seoffer Inc

VIP
Épsilon
Redactor
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
7 Sep 2016
Mensajes
836
Yo lo veo más como una vulnerabilidad de wordpress que una solución xD, gracias por compartir compañero
 

Voldemorth

No recomendado
Verificación en dos pasos desactivada
Desde
10 Ene 2012
Mensajes
918
Es verdad pero bueno, la idea era cobrar por recuperar el acceso al admin
 

username666

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
31 Jul 2019
Mensajes
346
y por que no desde la base de datos?
reemplazas el correo del anterior usuario admin por el tuyo y eso es todo
 

Micro SEO

Épsilon
Verificación en dos pasos activada
Desde
20 Feb 2016
Mensajes
753
Desde la base de datos en users. Es tan sencillo como ver los usuarios, contraseñas y entrar directamente sin cambiar nada.
 

Voldemorth

No recomendado
Verificación en dos pasos desactivada
Desde
10 Ene 2012
Mensajes
918
y por que no desde la base de datos?
reemplazas el correo del anterior usuario admin por el tuyo y eso es todo
Se trataba de un EC2 sobre el que solo tenia el acceso por consola, modificar el function.php me tomo 2 minutos, acceder a la db en ese caso no estoy seguro (no tengo tanta experiencia con aws) pero implicaria moverle al AWS del cliente y ya de por si para que me permitiera acceder por consola a sus archivos fue todo un tema.
 

Voldemorth

No recomendado
Verificación en dos pasos desactivada
Desde
10 Ene 2012
Mensajes
918
Desde la base de datos en users. Es tan sencillo como ver los usuarios, contraseñas y entrar directamente sin cambiar nada.
Por supuesto que si, pero justamente en este caso el chiste es que no tienes acceso a la db
 

username666

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
31 Jul 2019
Mensajes
346
Por supuesto que si, pero justamente en este caso el chiste es que no tienes acceso a la db
Es casi lo mismo, pero bueno siempre hace bien tener varias opciones a la mano, nos hace mas profesionales ;)
 

Voldemorth

No recomendado
Verificación en dos pasos desactivada
Desde
10 Ene 2012
Mensajes
918
Igual y algo intermedio es montar un adminer.php en la raiz, y levantar la db desde el wp-config.php para modificarla, pero realmente poner una función mas en el functions.php sigue siendo lo mas rápido
 

miguel8943

No recomendado
Delta
Redactor
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
26 Ago 2014
Mensajes
500
Voldemorth Te cuento mi caso, hace días intente hacer una modificación en la base de datos por algo que no me gustaba en el theme. Apartir de ahí comenzaron mis problemas ya que cuando intente ingresar de la forma tradicional con dominio/wp-admin me sale el siguiente mensaje:

http://prntscr.com/qxmu2z



Cuando intento ingresar me sale esto:

http://prntscr.com/qxmun7



Y al ingresar la el usuario y contraseña parece que no son correctos y me sale lo siguiente:

http://prntscr.com/qxmxuo



En mi ignorancia borre la base de datos antigua y cree una nueva pero entro por el php admin y la base de datos no tiene nada.

http://prntscr.com/qxmwgx



Si puedes ayudarme con eso te estaría agradecido ya que es el dominio de un proyecto personal que quiero iniciar y no lo quiero perder.
 

Voldemorth

No recomendado
Verificación en dos pasos desactivada
Desde
10 Ene 2012
Mensajes
918
Voldemorth Te cuento mi caso, hace días intente hacer una modificación en la base de datos por algo que no me gustaba en el theme. Apartir de ahí comenzaron mis problemas ya que cuando intente ingresar de la forma tradicional con dominio/wp-admin me sale el siguiente mensaje:

http://prntscr.com/qxmu2z



Cuando intento ingresar me sale esto:

http://prntscr.com/qxmun7



Y al ingresar la el usuario y contraseña parece que no son correctos y me sale lo siguiente:

http://prntscr.com/qxmxuo



En mi ignorancia borre la base de datos antigua y cree una nueva pero entro por el php admin y la base de datos no tiene nada.

http://prntscr.com/qxmwgx



Si puedes ayudarme con eso te estaría agradecido ya que es el dominio de un proyecto personal que quiero iniciar y no lo quiero perder.
Si eliminaste la db sin hacer respaldo no puedo hacer nada al respecto de ello.
Puedes quitar el wp-config.php de la raiz para que wp inicie una instalación nueva al acceder al domino y definir los valores de la db que creaste para que levante las tablas requeridas.

Por otra parte lo del dominio al que apunta tu sitio es muy probable que tengas código malicioso. Suponiendo que tu instalación de wordpress esta libre de código pirateado es probable que lo inyectaran desde comentarios o similar (depende de el sitio y las vulnerabilidades que tenga)
La buena noticia es que ya puedes descartar que sea la db al haber creado una nueva. Te recomiendo descargar tu carpeta wp-content y hacer un escaneo general de su contenido tanto por el dominio que comentas como por código malicioso.
Una vez eliminada cualquier amenaza puedes probar montar un sitio en local para validar que todo funcione como debe.
Hecho lo anterior elimina todo rastro de archivos en tu hosting y has una nueva instalación limpia de wordpress y sube nuevamente la carpeta wp-content sobrescribiendo la original.

Una opción posible si es que te lo puedes permitir es utilizar algun plugin del tipo all in one migrator o similar, y generar un backup de tu sitio en local e importarlo a tu nueva instacion, de esta forma puedes migrar de forma simple la db por si tienes algo de material o configuraciones de pugins en ella.
 

miguel8943

No recomendado
Delta
Redactor
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
26 Ago 2014
Mensajes
500
Si eliminaste la db sin hacer respaldo no puedo hacer nada al respecto de ello.
Puedes quitar el wp-config.php de la raiz para que wp inicie una instalación nueva al acceder al domino y definir los valores de la db que creaste para que levante las tablas requeridas.

Por otra parte lo del dominio al que apunta tu sitio es muy probable que tengas código malicioso. Suponiendo que tu instalación de wordpress esta libre de código pirateado es probable que lo inyectaran desde comentarios o similar (depende de el sitio y las vulnerabilidades que tenga)
La buena noticia es que ya puedes descartar que sea la db al haber creado una nueva. Te recomiendo descargar tu carpeta wp-content y hacer un escaneo general de su contenido tanto por el dominio que comentas como por código malicioso.
Una vez eliminada cualquier amenaza puedes probar montar un sitio en local para validar que todo funcione como debe.
Hecho lo anterior elimina todo rastro de archivos en tu hosting y has una nueva instalación limpia de wordpress y sube nuevamente la carpeta wp-content sobrescribiendo la original.

Una opción posible si es que te lo puedes permitir es utilizar algun plugin del tipo all in one migrator o similar, y generar un backup de tu sitio en local e importarlo a tu nueva instacion, de esta forma puedes migrar de forma simple la db por si tienes algo de material o configuraciones de pugins en ella.
Gracias amigo por tomarte la molestia de responder, voy a probar con estas opciones que me has dado
 

Narok

No recomendado
Beta
Social Media
Verificación en dos pasos desactivada
Desde
18 Sep 2016
Mensajes
99
Gracias amigo siempre es bueno contar con varias opciones.
 

El marketero

VIP
Zeta
Marketing
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
20 Dic 2019
Mensajes
1.587
Gracias! Nunca esta demas conocer mas metodos :)
 

Arriba