Межсайтовый скриптинг


Межсайтовый скриптинг ( XSS ) — это тип уязвимости системы безопасности , которую можно найти в некоторых веб-приложениях . Атаки XSS позволяют злоумышленникам внедрять скрипты на стороне клиента в веб-страницы, просматриваемые другими пользователями. Уязвимость межсайтового скриптинга может использоваться злоумышленниками для обхода средств контроля доступа, таких как политика того же источника . На межсайтовые сценарии, выполняемые на веб- сайтах , приходилось примерно 84% всех уязвимостей безопасности, задокументированных Symantec до 2007 года. [1]Эффекты XSS варьируются в диапазоне от мелкой неприятности до значительной угрозы безопасности, в зависимости от конфиденциальности данных, обрабатываемых уязвимым сайтом, и характера любого снижения безопасности, реализованного сетью владельца сайта .

Безопасность в Интернете зависит от множества механизмов, включая лежащую в основе концепцию доверия, известную как политика того же происхождения. По сути, это означает, что если контенту с одного сайта (например, https://mybank.example1.com ) предоставлено разрешение на доступ к ресурсам (например, файлам cookie и т. д.) в веб-браузере , то контент с любого URL-адреса с таким же (1) Схема URI, (2) имя хоста и (3) номер порта будут использовать эти разрешения. Контенту с URL-адресов, где любой из этих трех атрибутов отличается, необходимо предоставлять разрешения отдельно. [2]

Атаки с использованием межсайтовых сценариев используют известные уязвимости в веб-приложениях, их серверах или подключаемых системах, на которые они полагаются. Используя один из них, злоумышленники внедряют вредоносный контент в контент, доставляемый со взломанного сайта. Когда результирующий комбинированный контент поступает в клиентский веб-браузер, он считается доставленным из надежного источника и, таким образом, работает в соответствии с разрешениями, предоставленными этой системе. Находя способы внедрения вредоносных скриптов на веб-страницы, злоумышленник может получить повышенные привилегии доступа к конфиденциальному содержимому страницы, сеансовым файлам cookie и множеству другой информации, поддерживаемой браузером от имени пользователя. Атаки с использованием межсайтовых сценариев — это случай внедрения кода .

Инженеры по безопасности Microsoft ввели термин «межсайтовый сценарий» в январе 2000 года . таким образом, что выполняется фрагмент JavaScript , подготовленный злоумышленником в контексте безопасности целевого домена (используя отраженную или непостоянную уязвимость XSS). Определение постепенно расширилось, чтобы охватить другие режимы внедрения кода, включая постоянные и не-JavaScript-векторы (включая ActiveX , Java , VBScript , Flash )., или даже HTML -скрипты), вызывая некоторое замешательство у новичков в области информационной безопасности . [4]

Об уязвимостях XSS сообщалось и использовались с 1990-х годов. Известные сайты, затронутые в прошлом, включают сайты социальных сетей Twitter [5] и Facebook . [6] Недостатки межсайтового скриптинга с тех пор превзошли переполнение буфера и стали самой распространенной публично сообщаемой уязвимостью безопасности, [7] по оценкам некоторых исследователей в 2007 году до 68% веб-сайтов, вероятно, открыты для XSS-атак. [8]

Не существует единой стандартизированной классификации недостатков межсайтового скриптинга, но большинство экспертов различают по крайней мере два основных вида недостатков XSS: непостоянные и постоянные . Некоторые источники дополнительно делят эти две группы на традиционные (вызванные недостатками кода на стороне сервера) и основанные на DOM (в коде на стороне клиента).