19.04.14, 21:56
3 комментарий
  DLE Баг-Фиксы

Взлом DLE - как защитить свой сайт

Как взламывают сайты DLE? Как добавляют злоумышленники вирус, скрипты, код, шеллы, бек-доры, доступ администратора на DataLife Engine? Как защитить сайт ДЛЕ от взлома?

Серьезная опасность для сайтов под управлением движка DataLife Engine 10.0 и ниже версии, которую разработчики скрипта дле, как будто специально оставили, так как не знать об этом невозможно.

Но самое неприятное, то что, разработчики втихаря установили эту защиту на новой версии DLE 10.1 и выше, даже не сообщили своим купившим пользователям о об этой уязвимости, которая позволяет злоумышленникам выкачать всю базу данных MySQL, и даже внести в нее любое изменения.

Итак, если у вас сайт под управлением движка версии 10.0, 9.8, 9.7, 9.6, 9.5 или ниже, и вы не можете обновить его по причине большого числа модулей и хаков, то считайте, что любой может на ваш ресурс вписать нового администратора и творить там что хочет. При этом удалить все свои действия, так что вы даже не узнаете о его присутствие.

Если вас взламывали, добавляли неизвестным вам образом администратора, скрипт, вирус, код и прочее, и вы не знаете как это было сделано, читаем здесь ответ и решение проблемы уязвимости скрипта DataLife Engine 10.0-9.0 .

Вот простой УРЛ с запросом в браузере :



домен.ру/engine/classes/min/index.php?f=engine/data/dbconfig.php%00.js


таким вызовом можно получить полную информацию из файла dbconfig.php, где хранятся данные

define ("DBNAME", "Название Базы Данных");
define ("DBPASS", "Пароль");


Эти данные позволяют любому зайти в phpMyAdmin на большинстве хостингах, так как phpMyAdmin панель не защищена по стандарту вашим аккаунтом на хостинге, потому что панель используются и другими пользователями для работы с БД.

Ну, а те кто знает, что дает phpMyAdmin или полный доступ к БД, думаю понимают насколько серьезна это опасность. Ведь, там можно сделать все: отредактировать новости, вписать данные в профиль, добавить скрипт, выкачать всю БД и т.д. Даже удалить файл .htaccess в любом месте вашего движка, который служит защитой вашей системы от добавления и других манипуляций файлов с расширением PHP.
В результате таких изменений вы даже не узнаете, что было сделано с вашим ресурсом, если случайно не заметите изменения.

Чтобы устранить эту опасность в DLE 10.0 - 8.5 делаем следующее:
Скачиваем движок DLE 10.1 или выше, берем файл .htaccess из папки /engine/classes/min/ и кидаем себе в эту же папку.
Или создаем в папке /engine/classes/min/ файл .htaccess, а внутрь добавляем код:

<Files "index.php">
	Order Deny,Allow
	Allow from all
</files> 


Еще один файл .htaccess берем из 10.1 или выше в папке /engine/classes/
Или создаем в папке /engine/classes/ файл .htaccess, а внутрь добавляем код:

<FilesMatch ".([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Pp][Hh][Tt][Mm][Ll]).?">
   Order allow,deny
   Deny from all
</FilesMatch>


Желательно проверить все функции движка и сайта, после добавления.

Кстати, данной угрозой подвержены многие СМС не только DataLife Engine, но и Joomla, WP и т.д., судя по сообщениям в интернете. Поэтому, чтобы не ждать когда злоумышленники найдут новую возможность получить доступ к БД phpMyAdmin, можно попросить тех.службу вашего хостинга закрыть доступ всем извне, в том числе и вам.

Это они могут сделать, если добавят в папку phpMyAdmin файл .htaccess с кодом запрещающий доступ к вашим БД.

Ведь БД файл можно создать в панели движка, а потом скачать, он будет находится в папке /backup/, отредактировать на ноутбуке, чтобы потом вновь закачать в папке /backup/, а после установить (кнопкой восстановить базу данных).

А теперь посмотрите на движок дле, какие там разные способы защиты: можно переименовать файл admin.php, свой IP установить для входа, сброс пароля, даже посмотреть кто пользовался админкой (кстати эту защиту легко обходя) и пропустить такой баг.
Это тоже самое, что создать супертанк с непробиваемой броней, всеми видами обнаружения цели, системой отражения и т.д., но сделать топливный бак из фанеры.

А самое некрасивое, не сообщить об этой уязвимости пользователям старых версий!


Чтобы защитить сайт от тех, кто каким-то образом получил доступ к сайту с правами администратора можно сделать следующее:
1. Установить на все .htaccess движка права CMHD 444 (внимание не на файлы и не на папки движка, а только на файл .htaccess или многое перестанет работать)
2. Установить на все файлы шаблона права CMHD 444 (кроме папок). Такая защита никому не позволит изменить файлы вашего шаблона, даже с правами администратора, можете проверить в админ панели движка управление шаблонами .


4. Или каждый раз обновлять до новой версии, что не удобно для многих!шаблоны для dle 11.2

Комментарии

  1. Katrin 20 апреля 2014 13:57                    

    Ух-ты! На самом деле есть такая дыра! scares
    Помогло!

  1. Madjack 20 января 2015 01:44                    

    у меня сайт на dle 10.0 попробовал /engine/classes/min/index.php?f=engine/data/dbconfig.php%00.js выдало ошибку

    400 Bad Request
    Please see http://code.google.com/p/minify/wiki/Debugging.

    это значит дырка закрыта или нет?

  1. ToNik Пользователь offline 20 января 2015 11:54                    

    Madjack, Да...

Напишите своё мнение