войти зарегистрироваться

Wordpress whois

индекс
100,49

Новая уязвимость Wordpress — возможна DOS атака

Свежая уязвимость в Wordpress которая позволяет провести DOS атаку на блог жертвы используя файл wp-trackback.php

Для исправления этой уязвимости необходимо добавить следующий код в файл functions.php, который находится в папке шаблона блога:



function ft_stop_trackback_dos_attacks(){
global $pagenow;
if ( 'wp-trackback.php' == $pagenow ){
// DoS attack fix.
if ( isset($_POST['charset']) ){
$charset = $_POST['charset'];
if ( strlen($charset) > 50 ) { die; }
}
}
}
add_action('init','ft_stop_trackback_dos_attacks');


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

Эксплоит уязвимости: jarraltech.com/2009/10/new-0-day-wordpress-exploit/
Источник: blogproblog.com/wp-trackback_dos_attack/

комментарии (52)

  • Спасибо
  • раскрыть комментарий
    • Даю пример сайта на проприетарных технологиях (IIS, VB.NET)
      Здесь не проверяется переменная кол-ва записей на странице и делается выборка во всю таблицу.

      Точно то же на сайте Adobe (коммерческий ColdFusion)

      Разруха не в сортирах.
      Займитесь прямым своим делом и вершите неуязвимое.

      А в описанном случае тот файл роли не играет — его можно стереть и забыть, ничего не ломается.

      P. S.
      топик бы уместно пошел в блог ИБ или WordPress
      • раскрыть комментарий
        • X-Powered-By=ASP.NET

          внутри VB, видно из ошибок когда валится база
          • X-Powered-By выставляется IIS-ом и ничего не значит. Значит, VBscript там.
      • Вы жестокий человек… бедный сайт будет стойко бороться с хаброэффектом =(
    • Как уже подметили выше — в платных проблем не меньше, я даже скажу более того: разнообразные студии со своими CMS подвергают опасности своих клиентов, т.к. достаточно часто ихние системы уязвимы и взломав один сайт студии можно пойти на сайт этой студии и посмотреть её портфолио со всеми уязвимыми сайтами. То что исходный код системы закрыт — это не значит, что она менее уязвима, просто в ней труднее найти уязвимости.
    • Увы но в платных дыр еще больше.

      Просто Вордпресс под прицелом тысяч злобных хакеров (ибо взломав WP ты получаеш доступ к мульену блогов).
    • всё просто, теория ошибок — «В любой программе содержится хотя бы одна ошибка»
    • Есть теория, к которой я всё больше в последнее время склоняюсь, что соотношение количества багов к объему кода — число постоянное, т.к. это тот самый человеческий фактор, и без устранения причины — не устранишь следствие.

      Вот когда кодить будут роботы, написанные роботами, тогда и можно надеяться на отсутствие багов, а пока терпите. Так то!
  • MS DOS или DDOS? :)
    • Просто DOS
      • Нормальный чистый DOS
        • Чтобы непонятливым было понятно, лучше писать DoS.
          • напомнило из баша

            ГламуРрКа: ПрИвЕтИк
            ATM: Чё надо?
            ГламуРрКа: Ты ЧиВо ТаКаЯ БукА? =)))
            ATM: Иди нахуй
            ГламуРрКа: ЧеГоО?!?!?!
            ATM: ИдИ НаХуЙ
    • There have been several reports this morning of a DOS attack affecting.

      Собственно как Вам больше нравится хоть MS хоть D
    • В данном случае и то и то.
      Denial of Service
      Distributed Denial of Service
    • Dr DOS
      • а ещё был PC DOS :)
        • TR-DOS наше всё. Или было им когда-то у многих :)

          А по сути, имхо, лучше находить и закрывать баги, чем забить на них вообще
  • Как-то все по-пионерски.

    1. Судя по exploit это buffer overflow и проблема в php — следовательно нужна его версия, ссылка на баг и так далее

    2. Если баг в php не исправлен, то опасности подвержен не только WP.
    • Скорее это таки уязвимость WP, либо «любые данные нужно проверять!».
      Не в курсе насколько быстро php выполняет операции с очень большими строками, но идущие:
      $charset = strtoupper( trim($charset) );
      strpos($charset, 'UTF-7')
      if ( function_exists('mb_convert_encoding') ) { // For international trackbacks
      	$title     = mb_convert_encoding($title, get_option('blog_charset'), $charset);
      	$excerpt   = mb_convert_encoding($excerpt, get_option('blog_charset'), $charset);
      	$blog_name = mb_convert_encoding($blog_name, get_option('blog_charset'), $charset);
      }
      
      с километровой $charset уложит на лопатки кого угодно.
      • либо:=ибо;
      • Я согласен что косяк у WP есть, но например у меня этот кусок вместе с данными из приведенного эксплоита проблем ни на сервере ни на девелоперской тачке не вызвали. Да и в общем-то не должны были вызвать имхо.
        • А у некоторых вот так бывает:

          Here’s the results from a quick test against my server:
          21:30:29 up 21 days, 1:06, 19 users, load average: 49.06, 27.11, 19.24
          • за комментарии, трэкбэки, регистрацию и xmlrpc отвечает по отдельному файлу
            что из списка отрублено в настройках — устраняю вопрос вместе с файлом

            сам протокол делает меня мнительным — у меня в корне лежит файл с известным всему миру названием,
            любой может независимо от меня пустить некешируемый скрипт, дергающий базу, и создать нагрузку
          • у меня полностью проц съело, тотестил блин на себе )
            по ссылке автора есть эксплоит )
            p.s. кстати по логам уже видно что что проверял кроме меня…
      • >Скорее это таки уязвимость WP, либо «любые данные нужно проверять!».

        То что пьешь, всегда на ком-то надо проверять… (с) Шнур
  • А если трекбеки отключены?
    • На первый взгляд проверка на включенность трекбэков идет позже возможного проблемного места. Советую пропатчить на всякий случай.
  • Я у себя на всякий случай запер /wp-admin под http basic авторизацию. Хак конечно, но уж очень часто именно там находят дырьки в безопасности.
    • Ага, только вот wp-trackback.php на самом деле лежит в корне.
  • Спасибо! Пофиксился…
  • Предлагаю слегка модифицировать патч.

    Заменить
  • Предлагаю слегка модифицировать патч. Заменить строку 7
    с
    if ( strlen($charset) > 50 ) { die; }
    на
    if ( strlen($charset) > 50 ) { die(«Holy shit! I'm dieing....»); }

    Все надо делать с юмором :)
    • Петросян одобряет ваш комментарий.
    • dying тогда уж… :)
      • Все надо делать с юмором, поэтому dieing
    • DoS ботам до лампочки, что вы им там сообщите
  • Спасибочки ;-)
    эхх побегу изучать php :-D
    С каждуй сборкой все более интересные дырки :-/
  • Wordpress — это ужаснейшее сочетание php4 и php5 кода. Пока разработчики не найдут в себе силы переписать его с нуля на php5 и держа в уме возможные варианты атак мы будем видеть как находят в вордпрессе новые дырки и пишут уродливые хаки чтобы их заткнуть…
  • >Wordpress — это ужаснейшее сочетание php4 и php5 кода.

    А по мне так замечательная система.

    >Пока разработчики не найдут в себе силы переписать его с нуля

    Это не более чем МИФ.
    Что якобы переписав сложную систему с нуля можно получить нечто совершенно безопасное…
    • + независимо от версии.
      Так сложилось, что быги были, есть и будут есть.
      От этого никто не застрахован.
  • Debian 4, php-fpm 5.3.0 за nginx, WP версии 2.8.4. Эксплоит работает.
  • На wordpress.org уже дают скачать 2.8.5 версию с исправленным багом.

    wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/
    • Мне вот интересно, я один испытываю проблемы с частым обновлением версий? У меня WPMU и куча измененных файлов движка. Каждый раз приходится отслеживать, чтобы правки переехали на новую версию
      • Насколько я понимаю при работе с Wordpress файлы движка вообще не должны меняться. Для работы достаточно менять файлы шаблона блога, и пользоваться файликом functions.php если чего-то не хватает, ну и плагины конечно.

        А вот файлы движка изменять не нужно. Я не особо ковырялся в WPMU, но думаю что там такая же концепция.
        • Концепция именно такая, но хочется идти впереди паровоза и приходится править. Вообще на WPMU у меня ещё buddypress стоит, вот в нем правок приходится делать гораздо больше.
          Вообще это наверное из-за моей неопытности и можно просто один файл сделать, который будет хранить все дополнения в движок, но я пока это не тяну
          • Что-то мне подсказывает, что вы ленитесь изучать хуки.
            • ну я не программист и за 3 месяца довольно много чего выучил. Вот теперь прочитал про хуки, спасибо)
      • На счет изменённых файлов движка не знаю, но может вам поможет вот эта статья?

        i1t2b3.com/2009/05/19/sites-on-single-wp-install/
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.