О безопасности нахождения в сети интернет сказано и написано уже столько, что, казалось бы, даже школьник должен знать все способы защиты от злоумышленников. Но раз за разом пользователи наступают на одни и те же грабли, позволяя заполучить свои личные данные, номера банковских карт или письма деловой переписки.
В лучшем случае, пользователь может попасть «в лапы» обычных интернет-хулиганов, которым интересно только авторизоваться под чужим аккаунтом на сайте или форуме. Но чаще всего все заканчивается намного печальнее и человек может потерять крупную сумму или деловую репутацию. В очередной раз попробуем разобраться с одним из самых популярных у хакеров способов испортить жизнь пользователю – XSS-атаках.

Что такое XSS-атака

Изначально, с появлением этого вида угрозы, приняли обозначение XSS, как – Cross Site Scripting. В переводе на русский это звучит как межсайтовый скриптинг. Но нестыковка была в сокращении: CSS, на тот момент уже занятым термином. Поэтому просто договорились, что этот вид атаки будут называть XSS и на этом успокоились.
Программисты по интернет-безопасности по началу вообще утверждали, что это мелкая угроза и особого внимания ей не уделяли. Но время шло и в итоге XSS-угроза стала одной из самых опасных, с помощью которой стали похищаться личные данные, закрытые корпоративные документы и опустошаться банковские счета.
В основе угрозы лежит следующий принцип: найдя уязвимость на сервере, хакер внедряет необходимый ему вредоносный код на HTML-страницу, которую генерирует атакуемый сервер. Опасностью является тот факт, что код передается в виде некой переменной, которую сервер считает «своей» и попросту не фильтрует ее. Либо сервер просто не фильтрует именно эту переменную.
Затем, данные этой переменной передаются на этот самый многострадальный сервер, в виде скрипта, который на запрос генерирует HTML-страницу, где есть все данные, так необходимые хакеру. Для «удобства» злодея вся информация поступает на его браузер. А дальше – дело техники и умения.
Проще говоря – XSS-атакой является поиск уязвимостей на сервере с целью вредоносного воздействия на компьютерное оборудование пользователей.

Основной вред от XSS-атаки

Самым неприятным для пользователей является то, что с помощью этого вида атаки, злоумышленник крадет Cookies, или куки, как привычнее звучит, в которых некоторое время после выхода из сети сохраняется вся информация о недавних действиях пользователя.
То есть, адреса посещенных страниц, логины и пароли. Сервера этих страниц не сразу закрывают сессию, и вот этим пользуются хакеры – им будет достаточно этого времени чтобы получить всю необходимую информацию. Да, чтобы зайти на банковский счет пользователя потребуется еще одноразовый смс-пароль (как правило, сайты банков быстрее закрывают сессию и авторизацию), но при должной квалификации хакера и это не станет серьезной проблемой для него.
Рассмотрим еще несколько неприятностей от этой атаки:

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

Как уберечься от вреда XSS-атаки

Администраторам сайтов и веб-мастерам можно дать несколько простых, но действенных советов, как не допустить фатальных последствий от этого вида сетевых угроз:

  • ни в коем случае не разрешать включения напрямую таких параметров, как: $_GET, $_POST, $_COOKIE в страницу, генерируемую сервером – для этого есть альтернативные параметры и функции;
  • запретить загружать на сервер тех произвольных файлов, что могут навредить: скрипты и HTML-страницы;
  • не следует сохранять загруженные файлы в файловой системе, а базе данных им будет самое место, при том, сама структура данных нарушена не будет;
  • при расширении функционала сайта необходимо тщательно тестировать их, прежде чем внедрить на постоянной основе.

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