Xss атака это: XSS (Cross-Site Scripting) — что такое межсайтовый скриптинг

Содержание

Что такое XSS атака и как от неё защитится

Автор статьи: admin

Метки: Компьютерные-сети / Новичку

В этой статье мы разберём что такое XSS атака и как от неё защитится, статья будет не очень большая но зато интересной.

Также посмотрите статью «Защита формы на языке программирования PHP», там будет раздел про то, как защитится от XSS.

Что такое XSS:

Как понятно из заголовка, это один из типов атак на сайт, XSS сокращение от Cross-Site Scripting, на русском «межсайтовый скриптинг», тут стоит сказать, что у него такое сокращение, что бы люди не путали с CSS.

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

Как работает XSS:

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

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

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

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

Классификация XSS атак:

Давайте разберём классификацию такого типа атак подробнее.

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

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

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

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

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

DOM-модели:

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

Защита от XSS:

Последние что мы разберём, это то, как защитить данные от этого типа атак.

Во первых нужно просто фильтровать все данные которые приходят к вам на сервер, во вторых, если мы говорим про ссылки, то предупреждать пользователей о вредоносной ссылки, это можно понять по протоколу, HTTP или HTTPS, обязательно нужен второй.

Ну и конечно нужно защищать свой сервер, чтобы не было внутренних проникновений в него.

Вывод:

В этой статье вы прочитали что такое XSS атака, какие типы есть, и самое главное, как от них защитится.

Подписываетесь на соц-сети:

Оценка:

(Пока оценок нет)

Загрузка…

Поделится:

Пока кнопок поделиться нет

Также рекомендую:

XSS атака

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

Аббревиатура XSS расшифровывается как Cross Site Scripting, или «межсайтовый скриптинг». При этом первую букву С заменили на Х вследствие того, что аббревиатура CSS уже занята, обозначает «Каскадные таблицы стилей» и применяется в веб-программировании.

XSS атака – это атака на уязвимость, которая существует на сервере, позволяющая внедрить в генерируемую сервером HTML-страницу некий произвольный код, в котором может быть вообще все что угодно и передавать этот код в качестве значения переменной, фильтрация по которой не работает, то есть сервер не проверяет данную переменную на наличие в ней запрещенных знаков –, <, >, ’, ”. Значение данной переменной передается от генерируемой HTML-страницы на сервер в скрипт, ее вызвавший путем отправки запроса.

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

То есть, говоря проще, XSS атака – это атака с помощью уязвимостей на сервере на компьютеры клиентов.

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

Чаще всего, как я упоминал выше, XSS атаки используются для кражи cookies (в народе – куки). В них хранятся сессии пребывания пользователя на том или ином сайте, этим злоумышленник и пользуется. Таким способом можно находится, например, на форуме, под аккаунтом другого человека. Так же cookies содержат зашифрованный пароль к аккаунту пользователя, который “сетевой хулиган” может с легкостью расшифровать и получить постоянный и ничем неограниченный доступ.

Теперь опишем другие возможности XSS атак (конечно при условии их успешного проведения).

  1. Возможно при открытии страницы вызвать открытие большого количества ненужных пользователю окон.
  2. Возможна вообще переадресация на другой сайт (например, на сайт конкурента).
  3. Существует возможность загрузки на компьютер пользователя скрипта с произвольным кодом (даже вредоносного) путем внедрения ссылки на исполняемый скрипт со стороннего сервера.
  4. Зачастую происходит кража личной информации с компьютера пользователя, помимо Cookies в качестве объекта кражи выступает информация о посещенных сайтах, о версии браузера и операционной системе, установленной на компьютере пользователя, да к тому же еще и плюсуется IP-адрес компьютера пользователя.
  5. XSS атака может быть проведена не только через сайт, но и через уязвимости в используемом программном обеспечении (в частности, через браузеры). Поэтому рекомендуем почаще обновлять используемое программное обеспечение.
  6. Также возможно проведение XSS атак через использование SQL-кода.

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

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

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

Напоследок дадим несколько советов веб-программистам и администраторам по предотвращению проведения XSS атак.

  1. Запретите включение напрямую параметров $_GET, $_POST, $_COOKIE в генерируемую HTML-страницу. Рекомендуем использовать альтернативные функции и параметры.
  2. Запретите загрузку произвольных файлов на сервер во избежание загрузки вредоносных скриптов. В частности, рекомендуется запретить загрузку на сервер файлов различных типов скриптов и HTML-страниц.
  3. Все загруженные файлы храните в базе данных, а не в файловой системе. Структуры данных это не нарушает (даже наоборот), а вот возникающих проблем может быть при использовании этого подхода значительно меньше.
  4. Расширяя функциональность своего сайта, помните, что при этом возрастает возможность проведения XSS атак, так что расширяйте ее с крайней осторожностью и все время тестируйте.

Межсайтовый скриптинг (XSS) — ENISA

Опубликовано в глоссарии

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

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

Типы XSS-атак

XSS-атаки можно разделить на два основных типа: непостоянные (отраженные) и постоянные (сохраняемые). Менее распространенный тип, называемый XSS-атакой на основе DOM, в этом посте рассматриваться не будет.

Непостоянный (отраженный) XSS

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

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

Пример:

  • Жертва нажимает на следующую ссылку:
    www..com/search.asp?term=
  • Ссылка отправляет поисковый запрос от клиента на веб-сервер.
  • Сервер возвращает результат поиска, содержащий javascript, размещенный ранее в поисковом запросе:
    ………..
  • Браузер клиента интерпретирует строку как скрипт и выполняет ее:
  • Рис. 1. Всплывающее окно в браузере жертвы Внедренный скрипт затем постоянно хранится на веб-страницах и возвращается любому пользователю, который получает доступ к веб-странице, содержащей скрипт.

    Распространенным примером атаки этого типа является размещение злоумышленником специально созданного комментария на форуме.

    Пример:

    • Злоумышленник публикует в разделе комментариев блога Джо следующее:
      «Отличная статья, так держать, Джо!

      Профилактика

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

      Фильтрация

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