Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

Выявление уязвимостей

Поскольку один и тот же сайт может подвергнуться нескольким атакам, мы рекомендуем не ограничиваться устранением первой найденной уязвимости, а проверить его на все остальные. Наиболее распространенные способы взлома сайтов описаны в этой статье.

Необходимые условия

  • Доступ к серверу сайта (веб-серверу, базе данных и файловой системе) через терминал или оболочку с правами администратора.
  • Знание команд оболочки или терминала.
  • Понимание кода (например, PHP или JavaScript).
  • Возможность проверить сайт двумя антивирусными программами.

Дальнейшие действия

Далее рассмотрим распространенные способы взлома сайтов. Надеемся, что наши примеры окажутся полезны вам и помогут понять, где искать следы злоумышленников.

Помните, что сканеры уязвимостей отличаются от антивирусных программ тем, что работают на более низком уровне и могут причинить ущерб сайту. Прежде чем использовать сканер уязвимостей, примите меры предосторожности, например создайте резервную копию сайта.

На этом шаге необходимо исследовать все указанные ниже уязвимости.

1. Компьютер администратора заражен вирусом

Если компьютер администратора заражен вирусом, хакер мог установить на него шпионское ПО для записи нажатий клавиш.

  • Проверьте компьютеры администратора на вирусы. Рекомендуем просканировать все компьютеры, с которых администратор входил на сайт, с помощью нескольких надежных антивирусных программ. Поскольку создатели вредоносного ПО постоянно совершенствуют механизмы ухода от обнаружения, этот способ не гарантирует выявление всех вирусов. Кроме того, у антивирусных программ бывают ложные срабатывания. Поэтому только использование нескольких таких программ поможет точнее определить наличие уязвимости. Также проверьте на вирусы веб-сервер и все устройства, с которых вы работали с сайтом.
    • Если антивирусная программа обнаружит шпионское ПО, вирус, троянскую или любую другую подозрительную программу, проверьте журналы сервера на предмет подозрительных действий от имени администратора, которому принадлежит зараженный компьютер.
    • Помните, что хакер мог изменить файлы журнала. Если он этого не сделал, то подозрительные действия от имени администратора будут прямым доказательством того, что причиной взлома стало вредоносное ПО на компьютере веб-мастера.

2. Простые или повторяющиеся пароли

Если вы используете простой пароль, хакеры могут относительно легко взломать его и получить прямой доступ к серверу. Сложные пароли состоят из букв, цифр и знаков препинания, а также не содержат слов из любого словаря. Для каждого сервиса нужно придумывать отдельный пароль, а не использовать один на все случаи жизни. В противном случае, взломав одно приложение или сервис, хакер сможет получить доступ к остальным вашим аккаунтам.

  • Проверьте журнал сервера на предмет подозрительных действий: возможно, администратор несколько раз подряд неудачно пытался войти в систему или выполнял странные команды. Запишите в журнал расследования, когда происходили подозрительные действия. Это поможет косвенно определить, какие резервные копии могут быть чистыми.

3. Устаревшее ПО

Проверьте, установлена ли на сервере последняя версия операционной системы, системы управления контентом, блог-платформы, приложений, плагинов и т. д.

  • Проверьте (через поиск), были ли выпущены для установленного ПО рекомендуемые обновления системы безопасности. Если да, то вполне вероятно, что хакеры воспользовались уязвимостями в старых версиях ПО.
  • Настоятельно рекомендуем обновлять все программное обеспечение до последних версий, даже если разработчики не сообщали об уязвимостях в используемых версиях.

4. Излишние разрешения, например открытая переадресация и отсутствие проверки запросов SQL

  • Открытая переадресация
  • Часто открытая переадресация настраивается на сайте, чтобы направить пользователя на нужную страницу или к нужному файлу на сайте. Пример:

    http://example.com/page.php?url=http://example.com/good-file.pdf
    Хакеры часто используют открытую переадресацию, подставляя в нее свои страницы со спамом или вредоносным ПО. Например:
    http://example.com/page.php?url=<malware-attack-site>

    • Если хакер использовал открытую переадресацию, это можно проследить по примерам URL в Search Console, которые будут вести на сомнительные страницы.
    • Чтобы предотвратить открытую переадресацию, проверьте, не включена ли она по умолчанию в вашем ПО, запретите переадресацию на другие домены или разрешите ее только тем пользователям, у которых есть правильный хеш URL и криптографическая подпись.
  • Внедрение с помощью запроса SQL
  • Внедрения через запрос SQL происходят, когда хакеру удается выполнить свою команду в базе данных, указав особые значения в полях для ввода данных на сайте. При успешной атаке хакер может добавить на ваш сайт спам или вредоносное ПО либо скачать ценную информацию. Если на вашем сайте используется база данных, а в Search Console отображается предупреждение о внедрении с помощью запроса SQL, вполне вероятно, что именно эту уязвимость использовал хакер.

    • Войдите в базу данных на сервере и проверьте ее на предмет подозрительных записей, например окон iframe или скриптов в текстовых полях.
    • Настройте проверку вводимых пользователями данных на опасные символы, экранируйте их или используйте строгие типы, чтобы избежать выполнения кода. Если не проверять вводимые данные до передачи в базу данных, высока вероятность внедрения через запрос SQL.

Следующий этап

Теперь необходимо устранить все проблемы и выработать стратегию защиты сайта.