0.00
72 читателя, 40 топиков

Ребята, это нормально или нет?

Всех приветствую, решил значит я поиграться с API MODx.

Значит задача такая, нужно было вывести у документа Tvs.

Было применено вот такое решение



$parent // Это текущий документ

$title = $parent->getMany('TemplateVarResources');

echo "<pre>";
print_r ($title);



В итоге, получил ВСЕ СОДЕРЖИМОЕ базы… Это нормально или нет? О_o

Что за заражение? Новый способ?

Всем привет.
Недавно почистил сайт от вирусов. Все файлы проверил и базы. Все чисто. Обновился и вперед.
Пользуюсь только Chrome. И вот открываю IE. Вдруг после клика в любое место сайта открывается другой сайт. Опять все проверил на хостинге — все чисто. В Chrome тоже не наблюдается. в IE опять та же хрень.
Открыл сайт в консоли IE F12: После тега body добавляется такая хрень.
<iframe src="http://b.okboost.ru/f0.22701418819717634" style="left: -1000px; position: absolute;"></iframe>


В отладчике загружены ресурсы с таких сайтов bytde.com, cs.qgdzy.top, cashsearch.ru. Куча каких-то js и ajax
Проверил с других компьютеров. Вроде ничего нет. Не кидайте помидоры только. Решил на всякий случай потестировать настройки сайта. Путем теста нашел код, который вызывает работу этой схемы в футере.

Вариант с гавном по клику
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-***********', 'auto');
  ga('send', 'pageview');

</script>


Правильный вариант
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-***********', 'auto');
  ga('send', 'pageview');

</script>

Разница только в https: но почему это наблюдается только на одном моем сайте. Помогите разрешить эти проблему.

Плагин защиты от POST взлома

Увидел тут на форуме, что бывает засыпают POST-запросами.
А что если создать плагин, который бы добавлял к каждой форме скрытое поле и при получении modx'ом, проверял его валидность? Если поле не верное, либо прилетело откуда-то :), то die()?
Набросал, проверил, работает, код плагина под катом.

Ниже плагин TokenPostProtect, события OnWebPagePrerender (пусть будет в конце выполнения плагинов).
Это лишь как пример. Для AJAX надо самому добавлять, можно например придумать что-то вроде замены например #PROTECT# на ?$ProtectFieldName=bin2hex…
bin2hex и hex2bin можно заменить на свои функции… в общем я думаю я идею выразил.
Кто что думает?

if(!defined('MODX_BASE_PATH')){die('What are you doing? Get out of here!');}
$useridP=$modx->getLoginUserID();
$ProtectFieldName='tokenprotect';
$protect["REMOTE_PORT"]=$_SERVER["REMOTE_PORT"];
$protect["ip"]=$_SESSION['ip'];
$keyP="k".$useridP.$_SESSION['ip'];
$e = &$modx->Event;

switch ($e->name) {
case "OnWebPagePrerender":
$Pv=bin2hex(serialize($protect));
$o = &$modx->documentOutput; // get a reference of the output
$o = str_replace("</form>","<input id='$ProtectFieldName' name='$ProtectFieldName' type='hidden' value='$Pv'></form>",$o);	
$modx->documentOutput=$o;
break;
case "OnWebPageInit":
if (count($_POST)>0){
if ($_POST[$ProtectFieldName]!=""){
$Pr=unserialize(hex2bin($_POST[$ProtectFieldName]));
//Если массивы равны
if ($Pr===$protect){
return;	 
}	 
}
// echo "What are you doing ".$_SESSION['ip']."? Get out of here!";
header('HTTP/1.1 500 Internal Server Error');
}
default:
return;
break;
}

Осенне-зимнее обострение по взлому сайтов



Добрый вечер.

В осенне-зимний период участились взломы сайтов и рассылка с них какого-либо спама. Так у меня самыми распространенными видами активности являются:
  • Создание субдиректорий с огромной кучей статических html страниц. В этом случае трафик обычно заграничный идет на страницы. Последний раз просмотры таких страниц шли из Малайзии.
  • Скрытая рассылка спам-сообщение. Из-за чего хостинг блокирует функцию отправки писем и, соответственно, с сайта не уходят заказы, сообщения обратной связи и т.д.

Пробовал поначалу вычищать файлы вручную. Но если вдруг пропускал какой-либо один вредоносный файл, то сайт снова заполнялся этим гуано.

В последнее время целиком перезаливаю MODX и переношу дамп базы данных и шаблоны, картинки и т.д.

Как вы боретесь с данной напастью? Какие методы защиты применяете? В каком месте обычно пролезает эта гадость? Вообщем поделитесь опытом что и как.


UPDATE_1

Спасибо Дмитрию и его evocheck. Обнаружил в базе данных скрытый плагин TransAlias замаскированный на одноименный плагин. В поле plugincode в базе данных был встроен вредоносный код.

Вот как это выглядит

Взломан сайт на MODX Evo 1.1

Сегодня было обнаружено заражение сайта на базе MODX Evo 1.1
Используя /index-ajax.php, был загружен шел в /assets/files,
затем еще несколько бэкдоров по разным каталогам и в файл /index.php
Файл .htaccess также был переписан.
Последствия были устранены и проведены мероприятия для предотвращения подобной ситуации:
— большинство каталогов стали read-only
— каталоги с возможностью записи приобрели deny access to \.php$
— активирован mod_security с установка запрета file php upload
Это все конечно здорово и в случившемся себя нисколько не оправдываю, но!
До сих пор было известно об уязвимости /index-ajax.php версий MODX Evo 1.0.*
Я что-то пропустил? Или об уязвимости Evo 1.1 (index-ajax.php) еще не известно?
Как то меня это напрягает.
Стараюсь security fixes не пропускать, а тут такая ситуёвина…

Просьба, надеюсь на общее благо.

Мастера плагинов и модулей большая просьба можно ли создать Модуль на основе скрипта ai-bolit, чтоб можно было его установить из репозитария и запускать из админки.
Последнее время злоумышленники просто одолели с размещением вредоносных файлов. И поиск этих файлов по папкам это большая головная боль.
Пожелания: Вроде установка айболита — простая операция, но ресурсов тарифа хостинга на всю проверку сайта не хватает. Появляется ошибка о превышении времени выполнения скрипта. Может это как-то можно учесть при разработке модуля?
Заранее спасибо.
З.Ы. А кто как решает данную проблему?

Плагин и вирусы

Добрый день.

Попадается второй взломанный сайт на modx evo, где есть плагин в базе с кодом шелла, но не отображается в админке этот плагин. Подскажите как так делают.

Заплатка для версий 1.0.12 - 1.2RC1 (1.2-d8.1.5)

Очень рекомендую всем установить данный фикс. Актуально для версии 1.0.12 — 1.2RC1 (1.2-d8.1.5) как офф версии так и сборки.
Устанавливаем через репозиторий в разделе CORE(Security-FIX) или заливаем поверх файлы скачав с GitHub( github.com/extras-evolution/security-fix )

Вы все еще пользуетесь WebloginPE? Тогда школохакеры идут к вам!

Недавно меня попросили настроить и отладить систему авторизации на ModxEvo, на котором, в этом качестве был установлен WebloginPE 1.3.1. Так состоялось наше знакомство и оно, увы, не было приятным.

Читать дальше →

Кешь 404 для каждого несуществующего адреса

Столкнулся со следующей проблемой. Кешь страницы 404, может заполнить все дисковое пространство. Другими словами если инициировать ряд переходов по выдуманным ссылкам, а страница 404 кешируется, в итоге получаем кучу кешь файлов равную количеству переходов. Может данный сбой происходит только у меня, я решил проблему просто перестал кешировать данную страницу. Версия Modx 1.0.15