Китайская защита сайта от вирусов » lamara-nsk.ru


lamara-nsk.ru
Это блог о сео, деньгах, заработке в сети, разработке своих проектов, программировании
и "жизни программиста", бизнесе, блогосфере, фрилансе и многом другом.


Контакты, Реклама в блоге




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

Автор DimoninG, написано 28.03.2009
Рубрика Общее, Общие советы, Скрипты PHP  

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

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

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

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

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

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

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

<?php

echo «hello»;

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

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

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



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


ae471697

    пишет:

    изящно!


    пишет:

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

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

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

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

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


    пишет:

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

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


    пишет:

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


    пишет:

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

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


    пишет:

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


    пишет:

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


    пишет:

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


    пишет:

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


    пишет:

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


    пишет:

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


    пишет:

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


    пишет:

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

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

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


    пишет:

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

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

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


    пишет:

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


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

Что здесь почитать?



1.   Разработки.
1.1 Плагин "Я не робот"
1.2 Плагин "Код Adsense прямо в пост"

2.   Заработай.
2.1 Блогун: 20$ в день
2.2 Уходим от налогов в Sape
2.3 Хватит думать, пора зарабатывать

3.   Акции и конкурсы.
3.1 Ссылка за "Рабочий стол"

Показать весь список.

-->








Блог на движке WordPress и тема для него создана DimoninG'ом в 2007 году.
Все материалы авторские, их копирование запрещено законом об авторском праве.