XSS, межсайтинговый скриптинг (англ. Cross Site Sсriрting) – это определенная незащищенность web-сайта. В генерируемые сервером страницы внедряется непредусмотренный код Javascript, который будет выполнен в пользовательском браузере после открытия этой страницы. По версии специалистов из securitylab.ru (интернет-портал, посвященный проблемам информационной безопасности), XSS занимает одно из первых мест в общем числе интернет-атак.
Разработчики в процессе продвижения сайта должны предусмотреть методы защиты. В ином случае злоумышленники могут получить в свое распоряжение закрытые данные, будет нарушена взаимосвязь клиентов с ресурсом (возможность оставлять комментарии), повышается угроза проникновения вирусов в операционную систему.
XSS атаки препятствуют стабильной индексации web-сайта при его продвижении из-за возникновения критической массы сгенерированных страниц. Для предотвращения этого в файле robots.txt. можно дать системе указания, содержащие запрет их обходить.
Разновидности
С учетом способов исполнения выделяют активный и пассивный виды уязвимости. Первая XSS значительно опаснее, поскольку пользователю не требуется совершать никаких действий. Код внедряется в базу или любой файл на сервере. «Пострадавшими» автоматически становятся все, кто заходит на сайт.
Чтобы сработал пассивный скриптинг от пользовательского браузера требуются выполнение ряда условий – переход по ссылке, открытие файла, реакция на рекламу и пр. Для этого «взломщику» необходимы специальные навыки и вся необходимая информация о «жертве».
С учетом каналов внедрения Javascript также есть несколько разновидностей XSS:
- Наиболее часто используется применение HTML тегов в постах или комментариях на сайте. При просмотре определенной темы форума взломщик получает cookies, сохраняющие данные пользователей. В период активной сессии это особенно опасно, поэтому рекомендуется осуществлять выход после ее завершения;
- Кодировка в Title web-страницы может быть намеренно изменена. Чтобы предотвратить эту уязвимость, в процессе поисковой оптимизации сайта кодировку страницы рекомендовано указывать до пользовательских свойств;
- Для сайтов с высокой посещаемостью XSS-уязвимость используется для осуществления DDoS-атаки – поток запросов, которые атакуемый сервер не в состоянии обработать. В этом случае скрипты не используются;
- Если необходимая фильтрация отсутствует, интеграция вредоносного скрипта может произведена в тег img. В качестве защиты от подобной атаки применяют удаление всех тегов, кроме разрешенных и ограничения для использования протоколов data и javascript в гиперлинках;
- Также выделяют «моментальные» XSS, в этом случае скрипт возвращается немедленно в форме ответа на HTTP запрос, и «отложенные», когда код хранится в течении заданного промежутка времени внутри системы, а после внедряется в HTML страницу.
В результате возникновения соцсетей появилась новая форма атаки, называемой «XSS-черви». Несколько пользователей получают на почту ссылку с XSS-уязвимостью. В момент перехода по ней внедренный скрипт делает массовую рассылку сообщений от имени адресата или передает взломщику необходимую информацию.
Счетчики по типу Google Analytic в некоторой степени тоже представляют собой безобидную XSS-атаку активного типа. Осуществляется передача данных, включая IP-адрес, используемое ПО, часто посещаемые страницы и пр. Разница в том, что в этом случае пользователь собственноручно интегрирует код в свою страницу.