Ulzurrun de Asanza i Sàez

Tag: errores

Grave vulnerabilidad en las versiones posteriores a Windows NT

Editor de directivas
Editor de directivas

Vía Genbeta descubro una muy grave vulnerabilidad de Windows NT (y versiones posteriores, como Windows XP, Vista y 7) que afecta a las ediciones para procesadores de 32 bits. La vulnerabilidad se debe a un fallo de diseño del soporte de aplicaciones de 16 bits, que permite ejecutar código con permisos de sistema (por encima de los permisos de administrador).

La vulnerabilidad fue detectada y reportada a Microsoft en junio de 2009 por Tavis Ormandy. Microsoft confirmó la vulnerabilidad, y aún no han liberado ningún parche que solucione este error, lo que ha hecho que Ormandy liberara la información respecto a la vulnerabilidad.

Para aquellos usuarios que no utilicen aplicaciones de 16 bits, puede evitarse esta vulnerabilidad deshabilitando el soporte para aplicaciones de 16 bits. La opción en cuestión se halla en el Editor de directivas (accesible desde ejecutar -> gpedit.msc), en Configuración de equipo -> Plantillas administrativas -> Compatibilidad de aplicación.

Otra solución al Administrador Fantasma de WordPress

Vía AyudaWordPress descubro una solución alternativa al plugin que propuse ayer y probablemente más eficaz. Se trata de otro plugin creado por _ck_ que cierra la conexión a las páginas con URLs que contengan eval o base64 siempre que tengan más de 255 caracteres.

Para instalarlo basta con poner el siguiente código en un archivo .php, subirlo a la carpeta plugins (dentro de wp-content) y activarlo desde el Panel de Administración de WordPress.

[php]
<?php
/*
Plugin Name: Block Bad Queries
*/

if (strlen($_SERVER[‘REQUEST_URI’])>255 ||
strpos($_SERVER[‘REQUEST_URI’],"eval(") ||
strpos($_SERVER[‘REQUEST_URI’],"base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
?>
[/php]

Esta solución no estra en conflicto con el plugin que publiqué ayer, por lo que si usando sólo uno de los dos no os sentís del todo seguros, podéis activar ambos.

PD: Parece que al contrario de lo que pensaba, WordPress 2.8.4 no se ve afectado por este error, por lo que si tenéis WordPress actualizado no hace falta que os calentéis la cabeza con el tema de los Administradores Fantasmas. De todos modos, ambos plugins deberían funcionar sin problemas en WordPress 2.8.4, por lo que si aún así no os sentís seguros, dejadlos activados.


Solución temporal al problema del Administrador Fantasma de WordPress

Vía AyudaWordpress descubro un error que afecta a todas las versiones de WordPress (incluída la actual) que permite a un usuario con malas intenciones crear una cuenta de administrador mediante una inyección SQL a la Base de Datos de WordPress, lo que se traduce en que un hacker puede hacerse con el control del blog.

Mientras se arregla este problema, yo he creado una solución algo radical y temporal en formato de plugin. Bien, mi solución es la siguiente: Se le dice al plugin el número de administradores que debería haber. El plugin analiza la tabla de usuarios, y si detecta más usuarios administradores (ojo, sólo administradores) de los que debería haber, te muestra una lista con las IDs y los nombres de usuario de probables Administradores Fantasmas (las últimas cuentas de usuarios administradores).

Un ejemplo práctico: Tenemos 10 usuarios, con ID 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10. Los usuarios con ID 1 y 3 son administradores, mientras que el usuario con ID 9 es un Administrador Fantasma. El plugin te propondrá borrar al usuario con ID 9. Bien, si en lugar de ser el usuario con ID 9 el Administrador Fantasma fuese el usuario con ID 2, te propondría borrar al usuario con ID 3. Como veis no es perfecto, pero un método sencillo para eliminar probables fantasmas.

Si se ha detectado algún probable Administrador Fantasma, se mostrará la opción de eliminarlo de la Base de Datos. Otra opción que permite es que elimine automáticamente a los Administradores Fantasmas cada vez que se carga una página del blog (se añade la función de borrado a wp_head). Este método es bueno si sólo hay un administrador y no queremos tener que comprobar manualmente los probables fantasmas.

Para un análisis más fiable, os recomiendo seguir los siguientes pasos:

  1. Haced una copia de seguridad de la Base de Datos de WordPress y exportad los artículos, las páginas y los comentarios del blog.
  2. Cambiad los permisos de todos los adminsitradores normales de vuestro blog a suscriptores excepto al primer administrador de la Base de Datos. El primer administrador de la Base de Datos suele tener la ID 1, ése es el administrador al que no deberéis modificar los permisos, a los demás administradores reales cambiadles los permisos a suscriptor. Así evitaréis falsos positivos y el plugin no detectará a vuestros administradores reales como fantasmas.
  3. Instalad el plugin e introducid 1 en el campo de administradores del blog de la página de opciones del plugin (que está dentro de la página de usuarios). A continuación recargad la página y fijáos en el resultado del análisis que podéis ver en la parte inferior de la página.
  4. Si veis que hay algún probable Adminsitrador Fantasma, comprobad realmente que no es ninguno de los administradores reales de vuestro blog y si realmente es un Administrador Fantasma, haced clic en el enlace que veréis al final de la página para borrar todos los usuarios que aparecen en la lista.
  5. Si el análisis os indica que no hay probables Adminstradores Fantasmas, felicidades, vuestro blog es seguro.

La opción de borrado automático de los usuarios tiene un par de problemas, para comenzar, eliminará todos los probables Administradores Fantasmas, por lo que un falso positivo puede ser irreversible. Por otro lado, este sistema borra sólo los datos de la tabla wp_users, y WordPress también almacena datos en la tabla wp_usermeta, por lo tanto quedará información. Lo más recomendable es volver a la página de opciones del plugin y borrar los Administradores Fantasmas desde el enlace que hay al final de la página.

La solución es temporal y no soluciona el problema, tan sólo lo evita. Es por esto que lo más recomendable es actualizar a la versión 2.8.5 de WordPress cuando sea liberado, ya que esta versión sí que tiene el problema solucionado.

Por último, podéis descargar el plugin desde aquí.

Edito: Parece que al contrario de lo que pensaba, WordPress 2.8.4 no se ve afectado por este error, por lo que si tenéis WordPress actualizado no hace falta que os calentéis la cabeza con el tema de los Administradores Fantasmas. De todos modos, ambos plugins deberían funcionar sin problemas en WordPress 2.8.4, por lo que si aún así no os sentís seguros, dejadlos activados.


El primer error en WordPress

Llevo usando WordPress casi dos años, y durante ese tiempo no he tenido queja alguna de la estabilidad del mismo, realmente funciona muy bien.

Sin embargo, cuando escribía el tutorial que publiqué ayer, lo tuve difícil para no desistir durante el intento.

Probablemente hayáis notado un poco raro parte del código, sobretodo esta:

Sí, es una imagen del código, pero…
¿Por qué aparece una imagen en lugar del código en sí?

Resulta que es imposible crear un nuevo artículo que contenga ese código. Es más, el problema está en wpdb. Este objeto impide a WordPress guardar los artículos.

Y de nuevo vuelvo al tema del incio, ¿por qué me resultó casi imposible? Pues básicamente porque cada vez que guardaba el artículo me daba error 404, cuando el archivo existía y funcionaba perfectamente.

Incluso llegué a crear el artículo en dos partes, pero la parte final seguía sin guardarse ;-(  .