Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Массовый взлом сайтов на движке DLE

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Массовый взлом сайтов на движке DLE

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Массовый взлом сайтов на движке DLE.

Массовый взлом сайтов на движке DLE

Внимание друзья и пользователи движком DLE. Недавно обнаружил посторонние iframe включения в страницах своих сайтов, покопавшись в интернете увидел, что такой же проблемой страдают тысячи других сайтов на DLE. Атака производилась после нового года, приблизительно в 5-6 числах и продолжается сейчас.

В этой теме я расскажу как избавится от этой проблемы и излечить свой сайт от посторонних включений!

Итак начнём:

Как распознать проблему?
-При переходе по страницам сайт начинает жутко тормозить!
-В полных и кратких новостях присутствует нечто:

<script src="http://zheenix.msk.ru/1d5bba8ac681811be25992f361d9108c.js" ENGINE="text/javascript"></script>
<script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>
<script src="http://www.karbrrbrr.co.cc/1adfb9a63a0313c68f5572caecb8977b.js" type="text/javascript"></script>


Описание проблемы!
Эти включения представляют собой включения в базу MySQL, некоторые из них имеют обычный вид, а некоторые имеют генерируемые комбинации, типа
1d5bba8ac681811be25992f361d9108c
кторох удалить немного сложнее чем обычную статику. Не пытайтесь искать включения в файлах, весь этот мусор как я уже говорил храниится в MySQL!

Решение проблемы и закрытие дыры в жвижке DLE

Способ 1:

1) Смени пароль на базу данных.

2) Сделай 2 автозамены в базе или в "поиск и замена":

а) замени:

<script src="http://zheenix.msk.ru и <script src="http://you-stupped-lox.ucoz.ru


на

<!--


б) замени:

js" type="text/javascript"></script>


на

-->


3) Проверь все файлы сайта (на фтп поиском) на содержание следующего текста:

а)
x2a

б)
{${@eval($_POST[cmd])}}


Сравни найденные файлы с исходниками движка и лишнее удали.

4) Поставь последние заплатки (включая платные)

-----------------------------------------

Способ 2:

Итак, например У меня в краткой и полной новости появилось по 3 скрипта
<script src="http://zheenix.msk.ru/76403bc14134a2b49668b579a3b33ae6.js" type="text/javascript"></script><script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script><script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>


Делим их для удобства:
1.
<script src="http://zheenix.msk.ru/76403bc14134a2b49668b579a3b33ae6.js" type="text/javascript"></script>


2.
<script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script>


3.


1 удалить будет сложнее т.к код после слеша везде разный, поэтому начнем со 2 и 3!
Идем в phpmyadmin, выбираем вкладку SQL, видим окошко и туда вписываем:
UPDATE dle_post
SET
short_story=REPLACE(short_story, '', ''),
`full_story`=REPLACE(full_story, '', '')
WHERE
`short_story` LIKE '%%'
OR
`full_story` LIKE '%%'


Нажимаем ОК, после чего пропадет из новостей скрипт №2!
Не закрывая SQL удаляем так же скрипт №3 тоесть выполняем Такой sql запрос:

UPDATE dle_post
SET
short_story=REPLACE(short_story, '', ''),
`full_story`=REPLACE(full_story, '', '')
WHERE
`short_story` LIKE '%%'
OR
`full_story` LIKE '%%'


Нажимаем ОК!
Скрипт №3 так же удален!

Теперь возьмемся за скрипт №1
В phpmyadmin выбираем вкладку "Экспорт" и нажимаем ОК, сохраняем на компьютер!
Открываем эту базу с помощью ОФИСОВСКОГО ВОРДА, нажимаем "правка"---->>>"замена" и вписываем в поле найти: (zheenix)*(js) а в поле замена zheenix.ru , тут же нажимаем "больше" и ставим галочку на "Подстановочные знаки" , нажимаем "заменить все"!
Этим мы избавились от разного кода! Сохраняем изменения!
Идем в phpmyadmin ---> структура ----> и отмечаем все галочки ---> далее удаляем все!
Теперь идем во вкладку "импорт" , нажимаем обзор и выбираем Нашу измененную БД, ставим вместо utf8 ---> cp1251 и нажиимаем ОК! База загружена!
Теперь бежим в вкладку SQL и выполняем такой запрос:

UPDATE dle_post
SET
short_story=REPLACE(short_story, '', ''),
`full_story`=REPLACE(full_story, '', '')
WHERE
`short_story` LIKE '%%'
OR
`full_story` LIKE '%%'


нажимаем ОК!

Вот собственно и все! Можно конечно и облегчить это все, но я написал как делал сам!
Заняло у меня это минут 10, все же быстей и проще чем руками это делать!
Теперь только надо думать о заплатках)


--------------------------------------------------

А теперь про ХАКИ, закрываем все дыры у нас в движке

1. Взята с ОФФ сайта DLE
Проблема: Недостаточная фильтрация входящих данных.

Ошибка в версии: 9.0 и все более ранние версии

Степень опасности: Высокая

Для исправления откройте файлы engine/modules/search.php и engine/modules/fullsearch.php и найдите:
 $count_result = 0;


ниже добавьте:
 $sql_count = "";


Откройте файл engine/inc/templates.php и найдите:
$allow_save = false;


ниже добавьте:

$_REQUEST['do_template'] = trim( totranslit($_REQUEST['do_template'], false, false) );
$_REQUEST['do_language'] = trim( totranslit($_REQUEST['do_language'], false, false) );



2. Запрещаем включения типа скрипт и ифрэймв полной и краткой новости:
Проблема: Недостаточная фильтрация входящих данных при обработке новостей.

Ошибка в версии: все версии

Степень опасности: Низкая

Откройте файл: engine/classes/parse.class.php
Найдите:
if( ((strpos( strtolower( $attrSubSet[1] ), 'expression' ) !== false) && ($attrSubSet[0] == 'style')) || (strpos( strtolower( $attrSubSet[1] ), 'javascript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'behaviour:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'vbscript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'mocha:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'data:' ) !== false and $attrSubSet[0] == "href") || ($attrSubSet[0] == "href" and strpos( strtolower( $attrSubSet[1] ), $config['admin_path'] ) !== false and preg_match( "/[?&%<\[\]]/", $attrSubSet[1] )) || (strpos( strtolower( $attrSubSet[1] ), 'livescript:' ) !== false) ) continue;


замените на:
if( ((strpos( strtolower( $attrSubSet[1] ), 'expression' ) !== false) && ($attrSubSet[0] == 'style')) || (strpos( strtolower( $attrSubSet[1] ), 'javascript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'behaviour:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'vbscript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'mocha:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'data:' ) !== false and $attrSubSet[0] == "href") || (strpos( strtolower( $attrSubSet[1] ), 'data:' ) !== false and $attrSubSet[0] == "src") || ($attrSubSet[0] == "href" and strpos( strtolower( $attrSubSet[1] ), $config['admin_path'] ) !== false and preg_match( "/[?&%<\[\]]/", $attrSubSet[1] )) || (strpos( strtolower( $attrSubSet[1] ), 'livescript:' ) !== false) ) continue;


Найдите:
$source = str_replace( "`", "&#96;", $source );


Ниже добавьте:

$source = preg_replace( "#<iframe#i", "&lt;iframe", $source );
$source = preg_replace( "#<script#i", "&lt;script", $source );


-----------------------------------
Вот так можно избавится от этой серьёзной проблемы, которая может существенно навредить Вашему сайту и его позиции в поисковых системах.
Понравилась моя статья, она тебе помогла? Поставь мне + в репу. ;)


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+1
Просмотры: 12 455 :: Комментарии (44) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1(ppoe)

  • 15 января 2011 21:36
  • Регистрация: 8.12.2010
  • Был(а) онлайн: 25.11.2024
  • Комментариев: 103
  • -1
эпидемия что-ли?

--------------------

#2moss

  • 15 января 2011 21:53
  • Регистрация: 21.02.2010
  • Был(а) онлайн: 25.12.2011
  • Комментариев: 98
  • 0
дырявый dle что еще сказать..

#3AndreyKR

  • 15 января 2011 21:54
  • Регистрация: 5.10.2010
  • Был(а) онлайн: 17.11.2020
  • Комментариев: 134
  • 0
Мужики, нашёл новый способ открыть и править базу НЕ ЧЕРЕЗ MICROSOFT WORD (т.к. Ворд постоянно тупит и перековёркивает базу) а через Notepad++
1. Открываем в Нотепаде.
2. Отыскиваем вредоносный код: Вкладка Поиск -> Замена
В графе Найти вставляем выражение, например:
<script src="http://www.karbrrbrr.co.cc/[^"]*.js" type="text/javascript"></script>


в графе Заменить на: "ставим пробел"

В режиме поиска ставим птичку на Регулярное выражение.

И по аналогии с другими адресами вредоносных программ

3. Сохраняем. Заливаем обратно на хостинг уже чистую базу MySQL

У кого возникнут вопросы, пишите мне в ЛС, с удовольствием бесплатно всем помогу!
Спасибо за внимание ;)

--------------------

#4(ppoe)

  • 15 января 2011 22:10
  • Регистрация: 8.12.2010
  • Был(а) онлайн: 25.11.2024
  • Комментариев: 103
  • 0
AndreyKR с подключением к интернету

--------------------

#5asmakovec2

  • 15 января 2011 23:22
  • Регистрация: 14.09.2010
  • Был(а) онлайн: 12.09.2014
  • Комментариев: 186
  • 0
Цитата: (ppoe)
AndreyKR с подключением к интернету

Причём здесь подключение к интернету?

Заходим в phpMyAdmin и скачиваем базу к себе на комп, затем открываем в нотепаде и редактируем. И заливаем обратно.

#6waran

  • 15 января 2011 23:24
  • Регистрация: 16.10.2009
  • Был(а) онлайн: 14.01.2021
  • Комментариев: 53
  • 0
Эту шляпу я встретил и удалял еще в Октябре если не ошибаюсь...
Нужно движку обновлять регулярно !!!
У целки на офф сайте заплата ХЗ сколько висит уже...

#7xfirst

  • 15 января 2011 23:25
  • Регистрация: 11.11.2010
  • Был(а) онлайн: 27.08.2017
  • Комментариев: 12
  • 0
у меня было такое((( думал сам когда-то навтыкал и забыл biggrin

#8waran

  • 15 января 2011 23:26
  • Регистрация: 16.10.2009
  • Был(а) онлайн: 14.01.2021
  • Комментариев: 53
  • 0
Сегодня мы имеем версию 9.2 которая в разы совершенней того хлама который был ДО...

#9asmakovec2

  • 15 января 2011 23:43
  • Регистрация: 14.09.2010
  • Был(а) онлайн: 12.09.2014
  • Комментариев: 186
  • 0
Цитата: waran
Сегодня мы имеем версию 9.2 которая в разы совершенней того хлама который был ДО...

Это пока. biggrin . через пару месяцев хакеры понаходят дыры, и станет 9.2 такой несовершенной.

#10Хортица

  • 16 января 2011 00:08
  • Регистрация: 6.12.2009
  • Был(а) онлайн: 23.07.2012
  • Комментариев: 38
  • 0
Цитата: waran
имеем версию 9.2 которая в разы совершенней

Это кто сказал ? 8.2 все помнят ? biggrin

И да, автор новости - скажи, а что ты будешь делать если новостей больше 100 тысяч и соответственно база данных 1Гб ?

#11mitrushi

  • 16 января 2011 00:09
  • Регистрация: 4.01.2010
  • Был(а) онлайн: 3.11.2016
  • Комментариев: 160
  • 0
Цитата: AndreyKR
Мужики, нашёл новый способ открыть и править базу НЕ ЧЕРЕЗ MICROSOFT WORD

rofl жесть MICROSOFT WORD dash

#12waran

  • 16 января 2011 00:11
  • Регистрация: 16.10.2009
  • Был(а) онлайн: 14.01.2021
  • Комментариев: 53
  • 0
Хортица,

Как что делать laugh
Скачивать, делать замену скриптов или удаление кусками...

#13(ppoe)

  • 16 января 2011 00:12
  • Регистрация: 8.12.2010
  • Был(а) онлайн: 25.11.2024
  • Комментариев: 103
  • 0
Причём здесь подключение к интернету?

Всё с тобой ясно.

mitrushi, в каменном веке живём biggrin

--------------------

#14Хортица

  • 16 января 2011 00:16
  • Регистрация: 6.12.2009
  • Был(а) онлайн: 23.07.2012
  • Комментариев: 38
  • 0
Цитата: waran
делать замену скриптов или удаление кусками...

Когда Вы последний раз открывали текстовый файл размером больше чем 300 метров ?
У меня на компе с 4 ядра, 8gb RAM такой файл (на 300-500 метров) открывается около 30 минут.
А файл на 1гб открывается до двух часов. И это не тупорылый word а шустренький аналог блокнота.
А потом запускаете замену по регулярке и можно дня 2 не садится за комп biggrin

#15waran

  • 16 января 2011 00:23
  • Регистрация: 16.10.2009
  • Был(а) онлайн: 14.01.2021
  • Комментариев: 53
  • 0
Хортица,

ХЗ что за железо у тебя и почему оно так батрачит, у меня TXT в 216 метров открывает менее чем за три мимнуты, 2 ядра (5500+), ram 4...

Это не суть на самом деле, если схватил БЫТЬ удалять...

#16mitrushi

  • 16 января 2011 00:39
  • Регистрация: 4.01.2010
  • Был(а) онлайн: 3.11.2016
  • Комментариев: 160
  • 0
Цитата: waran
waran, Хортица

поиск через PhpMyAdmin еще никто не отменял..

#17asmakovec2

  • 16 января 2011 00:59
  • Регистрация: 14.09.2010
  • Был(а) онлайн: 12.09.2014
  • Комментариев: 186
  • 0
Цитата: Хортица
Это кто сказал ? 8.2 все помнят ? biggrin


помним biggrin

А на что ты этим вопросом намекаешь? Что в 9.2 есть что-то подобное?

#18Air-Di

  • 16 января 2011 01:43
  • Регистрация: 11.09.2010
  • Был(а) онлайн: 18.12.2011
  • Комментариев: 81
  • 0
Хортица, руки просто поправь)) У меня кнфиг:
Процессор: AMD Phenom II X4 965 BE ( до 4Ггц разгнан)
Оперативы: 4Гб
Мать: Gigabyte 870A
Файл вордовский примерно на 400 метров открывает пару минут. Так, что на гиг спокойно за минут откроет.
У тебя наверно ядра отключены)) Или оперативка воткнута в разные каналы)

--------------------

#19sader90

  • 16 января 2011 04:53
  • Регистрация: 7.01.2011
  • Был(а) онлайн: 28.11.2011
  • Комментариев: 24
  • 0
<А теперь про ХАКИ, закрываем все дыры у нас в движке> и все что ниже.... У меня и так в движке это было biggrin

#20MaLaN

  • 17 января 2011 13:18
  • Регистрация: 1.10.2010
  • Был(а) онлайн: 4.10.2022
  • Комментариев: 75
  • 0
врот мне ноги, я это пол часа делал, зато возможно сайт больше проживет biggrin

--------------------

1 2 3
Предыдущая    Следующая
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Декабрь 2024 (10)
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)

Последние комментарии: