Mostrando entradas con la etiqueta Apache. Mostrar todas las entradas
Mostrando entradas con la etiqueta Apache. Mostrar todas las entradas

Vulnerabilidad en Wordpress: Full Path Disclosure

Hoy revisando los mensajes en elhacker.net leo un pequeño aviso de full path disclosure en Wordpress.

No comenta si son solo algunas versiones o todas, lo que es evidente es la vulnerabilidad.

El FPD se proudce en el directorio /wp-includes/.

El motivo, sospecho, se debe a que Wordpress trabaja mesclando varias páginas, y al abrir una de estas sin las demás se produce un error al intentar cargar una función como es el caso:

Fatal error: Call to undefined function add_filter() in /home/-censored-/public_html/wp-includes/user.php on line 70

Como se puede apreciar se produce un error intentando cargar una función llamada add_filter y eso nos da el FPD.

La solución:

Se me ocurren dos:

La primera podría ser agregar error_reporting(0); en cada linea del documento.

La segunda, depende más de la forma de trabajar de Wordpress, pero sería imitar en parte el método de SMF con un define('WP', 1) y en cada página comprobar si está definida o die();

La forma de encontrar el FPD fué al entrar al directorio /wp-includes/ y desde allí ir abriendo archivos hasta que uno de error, en caso de que no apache no nos indexen los archivos también podemos buscar los archivos afectados.

Entre los archivos afectados están update.php, user.php y rss.php por citar tres de ellos.

Ahora que conocemos el problema y la solución, solo falta protejer nuestro blog de wordpress, si lo tenemos.
Saludos

Solución al error de codificación para PHP/MySQL

Bueno... hoy he estado un buen rato "haciendo nada", nunca mejor dicho... uno de esos problemillas que nunca sabemos porque suceden.. y que todo el mundo en la web encuentra solución menus tu -.-"

Bueno el tema estaba en un problema con la codificación, se veia el tipico rombo negro con un ? que te saca de quicio....

Lo mas divertido es que tenia el meta con utf8, la bd con utf8_general_ci y todas las tablas sin contar que la BD guardaba los datos correctamente y que solo habia problemas al mostrarlos, pero, oh! si escribias un echo "ó"; en el php se ve perfectamente!

Enfin que tras 2 horas buscando en los archivos de configuración de Apache y MySQL, pues el error tenia que estar en la transferencias de estos, me encontré con un artículo interesante y que me solucionó el problema.

La broma se trata de agregar

<?php
@mysql_query("SET NAMES 'utf8'");
?>


directamente después del mysql_select_db()

Por lo que un code de ejemplo será:

<?php
//Consultas a la BD   
   
$con db_connect();
   
mysql_select_db($db$con) or die(mysql_error());
   @
mysql_query("SET NAMES 'utf8'"); //totalmente necesario -.-"
?>


y ya tenemos una codificación perfecta en nuestra web...
eso si, con una hora menos para trabajar en lo realmente importante...

enfin me voy a la ducha xD