Где-то в октябре прошлого года, я решил создать на будущие, собственный Интернет-магазин. Поскольку денег на покупку платного движка у меня нет, (да и не всегда стоит платить за те функции в платной CMS, которые есть в бесплатной), я решил выбрать для своих целей, платформу opencart.
Выбрал я именно эту платформу потому, что она:
- Совершенно бесплатная
- Наиболее известная среди бесплатных (наверное среди платных тоже)
- Хороший функционал
- Присутствует огромного количество как платных так и бесплатных модулей и шаблонов
- Я с ней достаточно хорошо знаком
Оригинальный дистрибутив называется opencart, а вот переделанная версия российский разработчиков – ocStore. Для своих целей, я выбрал ocStore, по той простой причине, что она более оптимизирована под СНД и в ней присутствую, еще другие полезные SEO-штучки.
Скачал я себе архив с CMS, скачал паблик шаблон + несколько модулей. Все это дело настроил как следует и забросил, так как и не планировал в ближайшее время, что-то делать с магазином, (да и с бесплатным шаблоном далек не уедешь).
Но буквально несколько дней назад, я совершенно случайно заметил, что магазин очень медленно загружается. Как позже показали разные инструменты, загрузка идет в течении 5-6 секунд, что в 21 веке – не позволительно. Все опробованные мною инструменты, ругались на долгий ответ сервера (от 5 сек.). Я конечно сразу стал ругать за это хостинг, но потом подумал: ведь другие сайты – работают нормально на этом хостинге – включая мой блог. Но все равно, решил написать в поддержку хостинга. На, что мне ответили: что проблему нужно искать в своем сайте.
Поиск Гугла – ничего не дал. Писал на разных форумах о своей проблеме, но там большинство пользователей, только отписывались, чтобы я менял хостинг, поскольку проблема именно в нем. Но я точно знал, что загвоздка в другом, так как пробовал ставить сайт на другой хостинг – проблема не решалась.
Я бы и так далее мучился, если бы мне на форуме CMS не порекомендовали посмотреть файл: system/librari/response.php и проверить на вредоносный код. Когда я открыл этот файл, то в самом конце я увидел следующие:

Кликните по картинке, для ее увеличения.
Этот набор не понятных символов, ничто иное, как закодированный код в base64, чтобы вебмастер не мог определить, что это вредоносный код. Этот код человек не может прочитать, но его прекрасно читают поисковые системы + ко всему, он может делать много разных вещей с вашем сайтом, вплоть до того, что оставлять ссылки и скачивать вашу базу данных.
Если раскодировать этот код, то мы получим такое:

Сайт долго загружался по той причине, что сайт который присутствует в данном коде, очень долго отвечает из-за этого и мой магазин долго грузился. Что делает этот код – я не знаю, но точно знаю 1: после замены файла response.php, на файл с оригинального дистрибутива – магазин начал нормально работать.
Как уже позже выяснилось, сайт системы ocStore, был раньше взломан и подменен оригинальный архив с CMS, на архив с этим кодом. Я конечно видел заголовок данной статьи, но ее не читал, так как считал, что меня это не касается, так как новость касалась, еще 2013 года, а на сайте уверяли в том, что все уже справлено.
Давайте поразмышляем, откуда мог появится данный код в меня в CMS. У меня по этому поводу, есть несколько предположений:
- Я его скачал вместе с CMS. Что маловероятно, так как все уже было залатано.
- Мне его подсунул человек, которому я давал доступ для правки модуля под свои нужды. Эта идея имеет больше права на жизнь, но я тоже в это не очень верю.
- И последние, что наиболее вероятное, это то, что я скачал эту заразу вместе с шаблоном, или модулем с паблика.
Какие можно сделать с этого выводы?
Качайте модули и шаблоны только с сайта CMS opencart. Если очень хочется скачать с другого сайта, то после скачивания, не поленитесь проверить тот дистрибутив на вредоносный открытый и закодированный код.
Спасибо за то, что дочитали статью до конца!
Вирус не обязательно должен был попасть именно, через зараженный модуль, или шаблон. Очень даже может быть, что магазин был взломан. А вирус запихнули, через ftp, или, через дыру в скрипте.
Огромное спасибо за статью!
@ Никита:
Не за что!
Было то же самое.Зацепил в шаблонах бесплатных.Сайт не помню.При установке шаблона магазин стал еле грузиться.Обратил внимание на данный файл так как ранее в разных шаблонах его не было он никогда в шаблонах не использовался, а тут при просмотре в файле эта гадость один в один как у Вас.
Файл небольшой и код сразу бросается в глаза внизу файла. С тех пор всегда
смотрю скачанный шаблон файла response.php быть не должно.
Так это в бесплатном шаблоне, а я принципиально не использую варез и бесплатные шаблоны с левых сайтов.