За последние 24 часа нас посетили 20169 программистов и 1700 роботов. Сейчас ищут 1366 программистов ...

Вирусы на хостинге

Тема в разделе "Прочие вопросы по PHP", создана пользователем pome, 26 фев 2009.

  1. pome

    pome Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    На хостинге лежит сайт, через некоторое время в страничках заводятся вирусы. У меня на компе их заведомо нет. Разговор с сисадмином хостинга поставил меня в тупик совсем. Может я чего не допонимаю?

    pome (21:45) :
    Касперский не дает открыть сайт, почистите от вирусов
    периодически заливаю страницы без вирусов, проходить день и они снова там. Сделайте что-нибудь уже
    erigs ® (21:58) :
    да да. СДЕЛАЙТЕ чтонибудь. Пишите код php чисто.
    pome (22:00) :
    Код - мое дело, ваше - хостинг. Если я залил страницу без вируса - полагаю она так и должна лежать
    erigs ® (22:00) :
    у вас в коде ошибка.
    erigs ® (22:00) :
    через ошибки вирус и попадает на сайт.
    erigs ® (22:01) :
    + возможно у вас троян на компе. МЫ ПРЕДОСТАВЛЯЕМ ЧИСТЫЙ хостинг. У нас нет никаких механизмов изменения того, что вы заливаете.
    pome (22:01) :
    в чем ошибка?
    erigs ® (22:01) :
    их просто нет.
    erigs ® (22:01) :
    22:02:55 pome: в чем ошибка?

    ИЩИТЕ! такое бывает. Мы в последнюю очередь вмешиваемся.
    erigs ® (22:02) :
    Ваш код - Вам проще должно быть найти.
    pome (22:02) :
    у меня нет троянов. И ошибок, боюсь, нет
    erigs ® (22:02) :
    ? уверены на 100 %?
    erigs ® (22:02) :
    если МЫ найдем ошибку вы нам заплатите? 1000 рублей за 1 час?
    erigs ® (22:03) :
    за 1 час поиска. Мы пошли искать тогда.
    erigs ® (22:03) :
    у нас хостится свыше 100 сайтов. ну, с каждым 20ым такое бывает.
    pome (22:03) :
    на 100% и вы не уверены что не в хостинге проблема
    erigs ® (22:03) :
    и ВСЕГДА ошибку находим в когде.
    erigs ® (22:03) :
    коде.
    erigs ® (22:04) :
    разговор неправильный. 1000 рублей в час - идет? и я бросаю свой вечерний ужин и иду искать.
    pome (22:04) :
    кушайте на здоровье
     
  2. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    мда... тяжелый случай
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Элементарно - пароль от ftp был украден, бот регулярно заходит и дописывает код файлы. Смени пароль.
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    pome
    Если вы пишете код так же, как и форматируете свои сообщения, то скорее всего у вас действительно ошибка в коде. имхо
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Вы не правы. Прежде, чем утверждать и тревожить админов (да и вообще, зачем попусту тыркать людей?), нужно проверить все возможные причины со своей стороны:
    1) Провериться на трояны (не только одним антивирусом)
    2) Сменить пароль на фтп и нигде его не сохранять на компе
    3) Проверить код на наличие уязвимостей:
    a) SQL injections
    b) Php injections
    c) Filesystem injections (там, где include файлов)
    d) Global variables
    e) Null-byte
    Да и еще нужно посмотреть, может существует уязвимость есть в модуле загрузки файлов.
    Ошибок может быть куча. Винить хостера можно только в случае, если сайт тестировался на разные уязвимости и перепроверен много раз. Хотя даже и это не всегда помогает увидеть ошибку.
     
  6. pome

    pome Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Ок, спасибо за отзывчивось. Предложение в теме PHP Free-Lance
     
  7. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    Ну что можно сказать, посмотрел, сайт имеет много ошибок..

    На будущее, тем кто может допускать такие ошибки...

    1. Такой метод, для проверки админ это или нет - не катит:

    PHP:
    1.  
    2. <?php
    3. if ($_SESSION['usertype']!="admin") {
    4.     echo ('<script type="text/javascript">');
    5.     echo ('window.location="http://www.zzzzzz.ru/index.php";');
    6.     echo ('</script>');
    7. //  echo "не админ";
    8. }
    9.  
    Т.к. ява-скрипт может быть просто отключен в браузере, и скрипт продолжит выполнение. Редирект лучше делать через функцию header('Location: url'), а также обязательно ставить в конце die();

    2. Никогда не давайте имя загружаемого файла, которое было от пользователя. Проверяйте тип файла, расширение, а лучше новое имя генерировать скриптом. В данном случае можно просто загрузить любой PHP-сценарий и выполнить его на сервере, т.е. сделать все что угодно:

    PHP:
    1.  
    2. <?php
    3. $filename=$_FILES["filename"]["name"];
    4. copy($_FILES["filename"]["tmp_name"],"uploaded/".$filename);
    5.  
    3. Такие конструкции не нужно делать перед помещением в SQL-запрос:

    PHP:
    1.  
    2. <?php
    3.     $msg = str_replace("'","'",$msg);
    4.     $msg = str_replace('"',"&quot;",$msg);
    5.     ...
    6.     $query="INSERT INTO ".$table_name." VALUES ('".$insert_check."', '".$msg."');";
    7.     mysql_query ($query);
    8.    
    9. ?>
    10.  
    Вместо этого нужно использовать функцию mysql_real_escape_string() http://ru.php.net/mysql_real_escape_string

    А для вывода можно использовать:
    http://ru.php.net/htmlspecialchars
    http://ru.php.net/manual/ru/function.htmlentities.php

    Тщательно проверяйте свои скрипты на безопасность, и не вините хостера! Успехов! :)
     
  8. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ну вот, почти об этом я и говорил.
     
  9. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    sylex
    Вам бы статью нарисовать по этой теме... еще одну среди миллиона :)