VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Добрый всем день.
В общем попросил меня знакомый реанимировать форум бородатой 4.0.х версии. В каждом PHP файле я обнаружил вот такой код:
PHP Code:
***********
Собственно, слил себе все файлы и папки, вручную через Notepad++ почистил файлы, залил обратно. И обновил форум до последней версии. Он заработал. Хаков там никаких не было кроме блогов, чтоли.. в общем чего-то несущественного.
Форум заработал. Спустя пару недель случилось тоже самое - опять в каждом файле этот код.
Посоветуйте пожалуйста, как это предотвратить? Отключить хаки? Почистить базу? И возможно ли как-то снести нафиг весь форум и поставить заново, но на эту же базу! То есть, чтобы все файлы были новыми, а база осталась старой.
@nop, После обновления движка, поменять все пароли администратора, поменять пароли на фтп. Раз база стоит, забекапить файлы и удалить с сервера, залить чистый движок на фтп и подключить к существующей базе. Чистый движок должен быть той версии на какую обновляли.
@nop
Продвинутый
Join Date: Apr 2007
Posts: 524
Версия vB: 3.8.x
Reputation:
Опытный 56
Репутация в разделе: 35
0
Quote:
Originally Posted by artscripts
@nop, После обновления движка, поменять все пароли администратора, поменять пароли на фтп. Раз база стоит, забекапить файлы и удалить с сервера, залить чистый движок на фтп и подключить к существующей базе. Чистый движок должен быть той версии на какую обновляли.
А можно подробнее про процедуру залития чистого движка?
Если я скачаю зануленную версию, точно ту, что стоит на этом форуме, просто залью её файлы на хостинг и заменю своим config.php. Всё заработает так? Без установки?
nop добавил 27.03.2014 в 15:50
Сделал, работает.
А может ли быть такое, что где-то в шаблонах этот вирус (или как его назвать)? Или в базе?
nop добавил 27.03.2014 в 15:59
ага, в datastore Нашёл:
PHP Code:
**************
Last edited by nop : 03-27-2014 at 05:59 PM.
Reason: Добавлено сообщение
@nop
Продвинутый
Join Date: Apr 2007
Posts: 524
Версия vB: 3.8.x
Reputation:
Опытный 56
Репутация в разделе: 35
0
Ребят, с форумом всё ок, а вот в /admincp/ не пускает... Пишет ошибку:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in [path]/includes/init.php on line 313
Unable to add cookies, header already sent.
File: /var/www/u5943107/data/www/site.ru/includes/class_core.php
Line: 5609
Код init.php:
PHP Code:
if ($vbulletin->options['enablehooks'] OR defined('FORCE_HOOKS')) { require_once(DIR . '/includes/class_hook.php'); if ($vbulletin->options['enablehooks'] AND !defined('DISABLE_HOOKS')) { if (!empty($vbulletin->pluginlistadmin) AND is_array($vbulletin->pluginlistadmin)) { $vbulletin->pluginlist = array_merge($vbulletin->pluginlist, $vbulletin->pluginlistadmin); // 313 строка unset($vbulletin->pluginlistadmin); } vBulletinHook::set_pluginlist($vbulletin->pluginlist); } }
код class_core.php:
PHP Code:
case E_WARNING: case E_USER_WARNING: /* Don't log warnings due to to the false bug reports about valid warnings that we suppress, but still appear in the log require_once(DIR . '/includes/functions_log_error.php'); $message = "Warning: $errstr in $errfile on line $errline"; log_vbulletin_error($message, 'php'); */
if (!error_reporting() OR !ini_get('display_errors')) { return; } $errfile = str_replace(DIR, '[path]', $errfile); $errstr = str_replace(DIR, '[path]', $errstr); echo "<br /><strong>Warning</strong>: $errstr in <strong>$errfile</strong> on line <strong>$errline</strong><br />"; // 5609 строка break;
Подскажите, в чём может быть причина.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
0
ну так а что в строке указанной в ошибке?
@nop
Продвинутый
Join Date: Apr 2007
Posts: 524
Версия vB: 3.8.x
Reputation:
Опытный 56
Репутация в разделе: 35
0
Quote:
Originally Posted by kerk
ну так а что в строке указанной в ошибке?
так я в коде в виде комментариев строки указал))) прокрутите горизонтальный скролл.
@UniversalUserIS
Специалист
Join Date: Jan 2013
Награды в конкурсах:
Posts: 446
Версия vB: 4.2.х
Reputation:
Professional 785
Репутация в разделе: 476
2
@nop, попробуйте в файле ../includes/init.php строку:
там же выше условие есть, "является ли массивом переменная"
т.е. не обязательно указывать что "это" массив
может целостность данных в датастор нарушена, нужно пересохранить любой модуль без изменений, для создания новых сериализованных данных
@UniversalUserIS
Специалист
Join Date: Jan 2013
Награды в конкурсах:
Posts: 446
Версия vB: 4.2.х
Reputation:
Professional 785
Репутация в разделе: 476
0
kerk, я понимаю, но мало ли, иметь в кармане 2 варианта решения лучше чем 1, вдруг какой-то из них не окажется верным
@nop
Продвинутый
Join Date: Apr 2007
Posts: 524
Версия vB: 3.8.x
Reputation:
Опытный 56
Репутация в разделе: 35
0
Quote:
Originally Posted by UniversalUserIS
@nop, попробуйте в файле ../includes/init.php строку: