Wordpress 2.2, en la mira de las SQL Injection

Menos mal que yo actualizo mi Wordpress cada vez que se actualiza en el Timeline de Wordpress. La versión 2.2 de Wordpress se encuentra bajo una terrible vulnerabilidad de SQL Injection. Fue descubierta por Alexander Concha y se encuentra arreglada para la versión 2.2.1 de Wordpress.

Como supuestamente faltan 3 semanas para Wordpress 2.2.1, no podemos arriesgarnos, y si usas Wordpress 2.2 es mejor que hagas lo siguiente:
Vas a buscar en tu blog (Wordpress 2.2) el archivo xmlrpc.php y dentro de este archivo vas a buscar:
$max_results = $args[4];
y lo vas a cambiar por:
$max_results = (int) $args[4];
Y listo )

Muchas gracias al tocayo Alex por reportarlo ;) Para que vean que la comunidad Wordpress en español está bien equipada :p

Otro fallo de seguridad en Wordpress 2.2

Leo en BuayaCorp que han detectado otro fallo de seguridad en Wordpress 2.2 en forma de posible inyección SQL. El fallo es relativamente leve ya que requiere autentificación y afecta a la funcionalidad xmlrpc del CMS, pero se recomiendo actualizar con el parche oficial para evitar problemas mayores.

aNieto2k

Otra más: Inyección SQL en WordPress 2.2

Un fallo en la función wp_suggestCategories del fichero xmlrpc.php en WordPress 2.2 permite a un usuario registrado (con que sea suscriptor sobra) introducir SQL mediante una inyección SQL para — por ejemplo — obtener todos los usuarios y contraseñas (que mono él).

El “Changeset” a aplicar es el 5570 que en resumidas cuentas es buscar la línea 537 donde pone:

$max_results            = $args[4];

Y cambiarla por:

$max_results            = (int) $args[4];

Por cierto, me he fijado que el descubridor es — una vez más — Alexander Concha y, como era de esperar, ha documentado el bug debidamente. Para mí que tiene cuatro ojos para leer tres ficheros del código de WordPress a la vez y el cuarto para el código de menéame :P .

, ,

WordPress 2.2 y una solución al problema con UTF-8

Un conocido acaba de actualizar a WordPress 2.2 y me ha comentado que tiene problemas al mostrar la codificación UTF-8 y es algo ya comentado antes por los comentaristas de SigT:

WordPress usa UTF-8 por defecto para el contenido y mostrar las páginas, pero la codificación de la base de datos siguen estando en latin1. En el fichero wp-config.php hay dos entradas al respecto:

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

En principio, si actualizáis desde una versión anterior, lo mejor sería quitar el utf8 de la primera quedando:

define('DB_CHARSET', '',);
define('DB_COLLATE','');

Al menos a mí amigo le ha funcionado, quizá en algunos casos haya que comentar la segunda línea, dejarlas las dos con el utf8, comentar las dos o directamente ninguna (si no os da ningún problema).

Pero esto — toca decirlo — es un apaño temporal y más tarde o más temprano tendremos que tener un WordPress 100% UTF-8 (ahora tenemos ficheros y “contenido” de la base de datos, falta la base de datos). Para ello podemos leer un borrador en el Codex WordPress llamado Converting Database Character Sets enfocado 100% a WordPress 2.2.

Voy a traducir/adaptar rápidamente las partes importantes del borrador (como siempre, haced copia de seguridad antes de tocar nada):

Cómo convertir la codificación de la base de datos

Hasta WordPress 2.1.3 (ésta incluida), las bases de datos de WordPress eran creadas con la codificación latin1 y de orden alfabético (N.dT: collation) latin1_swedish_ci.

Con la versión 2.2, WordPress permite definir ambas opciones (codificación y orden alfabético) de la base de datos en el fichero wp-config.php. Definir los valores DB_CHARSET y DB_COLLATE en el fichero wp-config.php provoca que WordPress cree la base de datos con los valores adecuados. Pero esto sólo puede hacerse para nuevas instalaciones y no para las instalaciones “ya instaladas” o actualizadas de versiones anteriores. Para “reconvertir” la base de datos vamos a asumir que la base de datos está en latin1 y se necesita convertir a utf-8.

El problema

Cambiar la codificación requiere el uso del comando de MySQL ALTER TABLE. Cuando se cambia la codificación, todos los campos TEXT y similares son convertidos a UTF-8 pero esta conversión ROMPE los TEXT existentes ya que presupone y espera que el contenido alojado en estos campos TEXT está en latin1, pero WordPress aloja caracteres unicode en la base de datos latin1 y, como resultado, los datos se llenan de basura después de la conversión.

La solución

La solución es ALTER(AR) todos los campos TEXT y relacionados a campos BLOB, luego cambiar la codificación y devolver los campos BLOB a TEXT.

Pasos de ejemplo:

  1. Avisa con tiempo y pon el blog fuera de servicio.
  2. Haz una copia de seguridad.
  3. ALTER TABLE wp_users MODIFY display_name BLOB;
  4. Repetir paso 3 para el resto de tablas/columnas.
  5. ALTER DATABASE wordpress charset=utf8;
  6. ALTER TABLE wp_users charset=utf8;
  7. Repetir paso 6 para el resto de tablas.
  8. ALTER TABLE wp_users MODIFY display_name TEXT CHARACTER SET utf8;
  9. Repetir paso 8 para el resto de tablas/columnas.
  10. Añadir el DB_CHARSET y DB_COLLATE correspondientes al wp-config.php.
  11. Pon en marcha de nuevo el blog.

Así pues, en los pasos 3 y 4 hay que cambiar CHAR, VARCHAR, TEXT, ENUM y SET cambiándolos el campo a BLOG, en el paso 5 hay que cambiar la base de datos a UTF-8, en los pasos 6 y 7 cambiar todas las tablas a UTF-8 y, finalmente, en el paso 8 y 9 devolver los campos BLOB a su estado anterior (ya fuese CHAR, VARCHAR, TEXT, ENUM y SET) con el campo UTF-8 configurado.

La clave en la conversión es que los campos BLOB, a diferencia de CHAR, VARCHAR, TEXT, ENUM y SET, no son convertidos en basura cuando la base de datos y sus tablas son cambiadas a UTF-8.

Finalizando

Recomendación personal: si sabes lo que haces (y tienes tiempo), sigue los pasos del “borrador”, si no haz el cambio que he dicho al principio y espera que una de las nuevas versiones actualice automáticamente la base de datos, salga un script que lo haga o similar.

,

Generadores de gráficos online, crea logos y más…

Mashable ha publicado una lista de 15 generadores de gráficos online. Así que he decidido agregarla a mi blog e ir complementandola con otros generadores de gráficos que vaya encontrando. Si quieres crear algún logo, botón o fondos para tu web, puedes usar alguno de estos generadores de gráficos ) Son realmente útiles para aquellos bloggers que no sepan usar programas de diseño gráfico, esta es una solución fácil, útil y rápida para crear lo que necesites ;) Botones

Ajax Loaders

Logos

Botones Pixel

Backgrounds

Websites 2.0

Si conoces otros sitios webs que te permitan crear botones, logos, etc, por favor nos los mencionan para agregarlos D

Los Plugins más populares según Wordpress.org

Revisando el directorio de plugins de Wordpress.org, he decidido hacer una lista en mi blog para ver cuales son los plugins más populares.

Es el plugin más popular en Wordpress.org, pero va a dejar de serlo debido a que ahora los widgets vienen incluidos en Wordpress 2.2. Según las estadísticas de descargas, las descargas se han mantenido igual pese a que ya no se necesita ese plugin en Wordpress 2.2.

Es un plugin antispam que ya viene incluido cuando descargas cualquier versión de Wordpress. Pese a ello, es uno de los plugins más descargados en Wordpres.org, es extraño que aunque ya te lo incluyen, la gente lo descarga.

Este plugin debería estar incluido dentro de Wordpress, pero como no lo está, mucha gente lo descarga. Este plugin crea un sitemap xml de tu blog que ayuda a los robots de los buscadores a llegar mejor a tu blog, y según se dice, ayuda a posicionar tu web.

Este plugin permite a tus lectores, subscribirse a los comentarios de algún post y recibirlos por e-mail.

Este plugin está incluido en los blogs de Wordpress.com. Es un plugin que te da estadísticas de tu blog y las agrega en tu Dashboard de Wordpress.com, de esa manera, no se carga nada en tu base de datos.

Excelente plugin que te permite gestionar tu podcast en tu blog Wordpress. Muy popular entre los podcasters.

Un plugin que tiene un gran soporte en sus foros de discución (según me han dicho). Integra Gallery2 con Wordpress, nunca lo he utilizado así que no conozco mucho sobre este plugin, si alguien lo utiliza, nos puede explicar su funcionalidad ;)

Un plugin que tiene varias opciones para mejorar el posicionamiento web de tu blog.

Te permite controlar la publicidad Adsense que agregues a tu blog, puedes controlar la posición, el tamaño, los colores, etc.

Estos son los plugins más populares según las descargas de Wordpress.org. De estos 9 plugins, yo utiliza 4 sin contar el de Widgets, debido a que ya utilizo Wordpress 2.2.

¿Y tú cuantos de estos plugins populares usas?

Primer tema de WordPress para sacerdotes

Los curas ya no tienen excusa para no abrir un blog. Cory Miller y Gregory Pittman acaban de crear el primer tema cristiano para WordPress.

A través del blog ChurchCommunicationsPro nos los ofrecen en descarga gratuita, y según dice, está orientado a pastores, ministros y otros seguidores de Cristo (o lo que es lo mismo, curas, sacerdotes y otros devotos).

La verdad, no esta nada mal. Podeis ver una demo. O descargaroslo. La demostración de que WordPress ya es universal.

Ah, y de regalo el tutorial: Usando WordPress para montar la web de la parroquia.

WordPress al día (28/05/07)

Como ya viene siendo habitual, comienzo la semana recomendándoles algunos de los enlaces que más me llamaron la atención los últimos 7 días.

No se pierdan los cinco consejos de seguridad para WordPrss que nos daban en SigT.

¿Quieren que los lectores puedan realizar donaciones de PayPal en su blog?: Buy Me a Beer – PayPal Donation WordPress Plugin. Un plugin para integrar PayPal en el blog.

Y ahora WordPress.com incluye e-mail para su dominio: WordPress.com Adds E-mail for Your Domain.

¿Les incomoda haber perdido con la versión 2.2 la vista previa al editar un post?. Todo tiene solución: Frame de vista previa en WordPress 2.2, un polugin con el que recumperamos esa funcionalidad.

Una de Themes: Top 7 Free Wordpress Themes

Y en Portafolio nos muestran qué plugins utilizan con frecuencia.

Cómo publicar un libro en un blog de WordPress

Soy de los que piensan  que los blogs son un tipo de nava suiza ya que pueden ser utilizados para realizar muchas tareas. Recientemente pude utilizar un blog para la publicación de un libro electrónico y me parece que el aprendizaje obtenido en ese proceso  puede ser útil para otras personas que deseen hacer lo mismo. Comparto con los lectores algunas recomendaciones que me sirvieron para lograr convertir el formato de blog al de libro:

1. Recomiendo que selecciones como plataforma WordPress  y que busques un tema sencillo sin muchos archivos ni elementos adicionales. Es probable que las plantillas de WP 1.5 sean las más indicadas para esta tarea y mucho  mejor si son de una columna.

2. Publica cada uno de los capítulos del libro como si fuesen entradas independientes.  Utiliza la misma categoría para todos los artículos.

3. Crea una “pagina” (no un post) que puedes llamar por el título del libro o índice, como prefieras. Incluye en esta página los enlaces a los capítulos del libro.

4. Entra al panel de administración del blog y selecciona “Opciones”. Pulsa sobre “Lectura”. Allí  debes marcar que la página principal del blog sea una página estática y seleccionas la página en la cual creaste ‘los enlaces a los capítulos. De esa manera la página de inicio siempre será aquella en el que están los enlaces a los capítulos del libro.

5. El último paso es  eliminar todos los enlaces visibles a los componentes de un blog (calendario, entradas recientes, etc).  También,  es importante eliminar las referencias a las fechas y a las categorías en el  archivo “index” del tema.

6. Debes también decidir si mantienes el sistema de comentarios. Considero que una de las razones principales para publicar un libro en formato de blog es que ya tenemos un sistema de comentarios que los lectores pueden utizar para opinar en torno al libro. Así que, a menos que tengamos razones mayores para eliminarlo, sugiero que mantengas el sistema de comentarios.

Lo más tedioso del proceso fue crear manualmente los enlaces a los capítulos pues no encontré una manera automática de hacerlo. 

Si tienes alguna recomendación adicional para facilitar el proceso de publicar un libro en un blog,  puedes compartirla en los comentarios.

 

Blogalaxia Tags:

Tags: , ,

Encuesta: ¿Que escribes antes el post o el título?

Tengo curiosidad, cuando vais a escribir un post ¿que escribís primero, el título o el post?

aNieto2k

Get Adobe Flash playerPlugin by wpburn.com wordpress themes