Китайская защита сайта от вирусов

Рубрики: Общее, Общие советы, Скрипты PHP  

Не секрет, что иногда сайты заражают вирусом.

Чем-чем? Вирусом. Он находится в iframe, и таким образом не виден посетителю. Но при этом посетитель успешно этот фрейм открывает и вирус хватает.

Как-как? Обычно внизу файла index.php располагается код, что-то вроде <iframe…>. При этом владелец сайта однозначно может сказать, что «ээ, дарагой, такова ранэшэ нэбэло, ээ!»

Как избавиться? Удалить этот код, сменить пароли на FTP (т.к. часто именно их и воруют).

В чем подвох? Подвох в том, что владелец сайта может «до последнего» не видеть вирус. Особенно, если вирус какой-нибудь новый. И даже Касперский не поможет.

В чем заключается моя «защита» и почему она «китайская»? Дело в том, что это скорее не защита, а оповестительная система, отключающая сайта, если вирус там поселился.

Как работает? Очень просто. Из учебника php следует, что закрывающий тег в конце файла можно опустить. То есть код:

<?php

echo «hello»;

тоже считается валидным и нормально работает.

Так вот, берем какой-нибудь WP, стираем в index.php нафиг закрывающий тег PHP (а именно вот этот: ?>). Все!

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



Отзывов (15) на «Китайская защита сайта от вирусов»

    нуб PHP пишет:

    изящно!


    sham пишет:

    очень грубо, но оригинально =)

    помойму лучше написать скрипт на проверку последнего изменения файлов или на проверку iframe. А лучше и то и другое. При обнаружении сделать пару функций – удалить/оповестить админа. Получиться такой миниантивирус.

    Есть маленький недочет конечно, пользователи все равно подцепят эту хрень, но зато владелец сразу поймет, что к чему.
    Конечно можно запускать эту проверку каждый час/два, но нагрузка при сканировании будет большая и вряд ли хостер обрадуется =)

    ps
    имхо отключение сайта не выход, да причем еще и светить недочеты. Большинство пользователей после этого и не придет больше.

    psps
    а чтобы не ловить ифреймы, нефиг пользоваться ie =)


    cleverbrain пишет:

    Если честно, никогда не сталкивался с вирусами на своих сайтах. Но статья превосходна! Спасибо, возьму на заметку :)

    З.Ы. Что закрывающий тег можно опустить, я не знал..


    Амирханов Ленар пишет:

    Если уж китайская, то хитро:)))


    Секрет пишет:

    Хз-хз, по-моему, это даст иллюзию защиты. Код, который универсально всё вставит не такой сложный. Плюс не забывай mod_rewrite, auto_append_file и кучу других возможностей поюзать взломанный сайт.

    Кстати, можно за компанию время изменения файлов чекать, если не лень. Изменилось – значит хакнули.


    vikeng пишет:

    Однажды пришлось лечить от вирусов, работающих по этому принципу, сайт на Джумла.
    Через некоторое время начал изучать Drupal. В нём как раз и реализовано это решение. Как говорится из коробки. Все php-файлы без закрывающего тега.
    Помнится никак не мог понять почему у разработчиков такая забывчивость, пока на форуме не нашёл объяснение. :roll:


    Heromant пишет:

    Все гиниальное просто.


    AngelOfFate пишет:

    вообще для этого есть плагин, который отслеживает изменения файлов и на «доске объявлений» выводит если кто-то в них покопался


    DimoninG пишет:

    Спасибо за комментарии :) Я запостил это решение скорее из-за его оригинальности, а не из-за того, что оно очень хорошее, поэтому и «китайское». Конечно, для реальной борьбы с вирусом лучше использовать какой-нибудь скрипт, отслеживающий время изменения файла или еще что-то.


    DimoninG пишет:

    vikeng, нет, друпальщики даже и не думали об этом. Просто в конце файла можно опускать закрывающий тег и все. А защита… Это скорее интересное наблюдение.


    haz пишет:

    а что мешает злоумышленнику написать echo «…»; ? :)


    haz пишет:

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


    kate пишет:

    >а что мешает злоумышленнику написать echo “…”; ?
    ну я так понимаю, у них стандартный скрипт, который ищет index.php и index.html (и в папках тоже), и вставляет в конец iframe. на одном сделанном мной сайте этот код был засунут вообще во все файлы .html (там клиент наловил вирусов и лазил по фтп на сайт). правда, толку от этого никакого не было, за исключением того, что сайт перестал работать, но не от отсутствия закрывающих тэгов, а от того, что в мой index.php не стоит ничего постороннего пихать. еще было смешно, что он напихал в .html, потому что html файлы, как таковые, у меня тоже не используются (у меня .tpl), он же засунул свои iframe в папку с версткой :lol:

    судя по всему, они не проверяют зараженные сайты, значит, работают по более общему алгоритму (запихать везде, где можно, невзирая на результат), так как в целом это более эффективно и быстро. или, может просто руки кривые :razz:

    насчет закрывающих тэгов – скорей это не от хакеров сделано. на некоторых хостингах, если у вас после закрывающего пхп-тэга будет хотя бы пробел, из-за этого возникнет ошибка при использовании header(‘Location: ….’) – «headers already sent». поэтому я тоже стараюсь закрывающие тэги везде убирать, после того, как это обнаружила. возможно, это и настройками можно убрать, но лень искать.


    shr пишет:

    интересная мысль ;)

    но имхо лучше сделать список своих файлов с чек-суммой и в скрипте, подключаемом через auto_prepend_file сверять, в случае чего завершаться или слать репорт на мыло\асю

    с другой стороны – есть тот же siteguard


    Артур пишет:

    а кто помешает злоумышленнику дописать в файл index.php «?>»
    ведь если он добудет доступ к фтп, это делается элементарно.
    и инфермы я видел цепляют вверху страницы.


Оставьте свой комментарий

Теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не спамер и не робот.
Я спамер и робот!

dimoning.ru
SEO и программирование.
  • Рубрики:



  • Рассылка:

  • Дополнительно:

  • По месяцам:

  • Счетчики:

    Яндекс цитирования
  • Спонсоры:


  • dimoning.ru © 2008-2011 г.
    Все материалы авторские, но их можно копировать с указанием прямой ссылки на источник.