viernes, 5 de agosto de 2022

Recuperando acceso a un wp-admin de wordpress

 Situación: nos pasan una instalación de wordpress en la que no se sabe la contraseña de algún usuario del wp-admin, el correo de restablecimiento es de pruebas o no tenemos acceso a dicho buzón.

Ejemplo: un usuario con un correo inventado de pruebas

Si vamos a recuperar contraseña, nos pide el correo, que puede ser inventado o no tener acceso:


Solución: si tenemos acceso a la base de datos (por línea de comandos o alguna herramienta tipo phpMyadmin, típica de los proveedores de hosting), solo hay que establecer la contraseña cifrándola con MD5.



Aunque Wordpress utiliza un sistema más robusto de contraseñas, con salt y demás, sí que reconoce las cifradas en MD5.

Una vez que ya tenemos acceso con la nueva contraseña, podemos ir al wp-admin/users.php y establecer una contraseña de nuevo para el usuario, esta vez estará convenientemente cifrada y salteada. MD5 a día de hoy es totalmente inseguro, es casi como guardar en plano.

jueves, 30 de septiembre de 2021

Regexp para email

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])



Fuente: https://stackoverflow.com/a/201378

martes, 21 de septiembre de 2021

Kernel 5.12

Nunca me preocupo mucho por el kernel que tengo instalado, pero esta vez me interesaba poner el 5.12, que por fin soporta el Nux Mighty Plug


Autor del parche: Takashi Iwai

viernes, 20 de diciembre de 2019

Microsoft y Linux

Que Microsoft ofreciese productos "open source" era impensable hace 10 años. Que además fuese un buen software, más impensable todavía.

Y aquí estamos, a las puertas de 2020, con Microsoft contribuyendo en el kernel de Linux y ofreciendo herramientas "open source".

sábado, 12 de octubre de 2019

Receta: migrar un Wordpress a localhost sin plugins

Situación típica: te encuentras con un blog en Wordpress "legacy", sin actualizar, o con muchos cambios por hacer. Es necesario echar a correr el blog en otro servidor (o mismamente en localhost).

Receta rápida

En el servidor donde corre:

1) Copiamos el árbol de directorios tal cual, mejor en un archivador:
/var/www/ $ tar cf blog-migrar.tar blog/
Ahora nos llevamos el .tar a nuestra máquina y lo descomprimimos el directorio web.

2) Volcamos la base de datos:
/var/www/ $ mysqldump -u usuario -p -h hostBaseDatos BaseDatosWordpress > BaseDatosWordpress.sql

3) Corregimos las referencias en la base de datos. Supongamos que la URL base del blog es www.webviejuna.com y que lo vamos a echar a correr en un servidor de desarrollo que será localhost.www.webviejuna.com (sin HTTPs). Hay que sustituir todas las apariciones de "www.webviejuna.com" por "localhost.www.webviejuna.com" en el SQL generado. Se puede hacer con sed o en el editor de textos si el archivo sql no es muy grande y el editor de texto no se queda frito.

4) Creamos la base de datos en el servidor de desarrollo, le damos permisos y cargamos el SQL que acabamos de modificar en el servidor de desarrollo:
$ mysql -u usuarioSuper -p  -e "CREATE DATABASE BlogPrueba;"
$ mysql -u usuarioSuper -p  -e "GRANT ALL PRIVILEGES ON BlogPrueba.* TO 'usuariotest'@'localhost' IDENTIFIED BY 'pass';"
$ cat BaseDatosWordpress.sql | mysql -u usuarioSuper -p BlogPrueba


5) Editamos el wp-config.php para cambiar los parámetros de conexión, apuntando a la base de datos local. Ojo con las posibles personalizaciones (por ejemplo, constantes como WP_CONTENT_URL, o ajustes como $_SERVER['HTTPS'] = 'on')

6) Muy útil en desarrollo. En wp-config.php:
define('WP_DEBUG', isset($_GET['debug']) && $_GET['debug'] == '1');
Así activamos el modo debug a demanda poniendo debug=1 como parámetro en la URL.