XSS-уязвимость - что такое

Cross Site Scripting или XSS-атака (дословный перевод - межсайтовый скриптинг) - разновидность уязвимости веб-ресурсов, которая возникает, когда хакерские скрипты оказываются и выполняются на страничках сайта. По актуальным статистическим данным, на такой вид атак приходится около 15% всех кибер-преступлений.

xss

Использование XSS открывает хакерам файлы куки и иные конфиденциальные данные пользователей, усложняет работу посетителя с ресурсом или помогает внедрить вирус (вредоносный код) в ОС. Поэтому при создании и продвижении ресурсов необходимо предусматривать методы противодействия подобным угрозам.

 

Разновидности XSS

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

По каналам внедрения скрипта, XSS-уязвимости бывают:

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

  • пробелы с фильтрацией допустимых тегов: значений и наименований атрибутов. Опасный скрипт внедряется, предположим, в тег img. Чтобы исключить подобную угрозу, необходимо использовать жесткую фильтрацию тегов, запретить использование javascript и data в ссылках;

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

 

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

Атаки межсайтового скриптинга (XSS) происходят, когда:

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

 

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



 

 

Сохраненные и отраженные XSS-атаки

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

 

Сохраненные атаки XSS

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

 

Отраженные XSS-атаки

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

 

Другие типы уязвимостей XSS

Помимо Stored и Reflected XSS, еще один тип XSS, XSS на основе DOM, был идентифицирован Амитом Кляйном в 2005 году . OWASP рекомендует категоризацию XSS, как описано в статье OWASP: Типы межсайтовых сценариев , которая охватывает все эти термины XSS, организуя их в матрицу сохраненных и отраженных XSS и серверных и клиентских XSS, где XSS на основе DOM является подмножество Client XSS.

 

Последствия XSS-атак

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

 

Как определить, что вы уязвимы

Недостатки XSS могут быть трудными для выявления и удаления из веб-приложения. Лучший способ найти недостатки - это выполнить проверку безопасности кода и найти все места, где входные данные HTTP-запроса могут попасть в выходные данные HTML. Обратите внимание, что для передачи вредоносного кода JavaScript могут использоваться различные HTML-теги. Nessus, Nikto и некоторые другие доступные инструменты могут помочь сканировать веб-сайт на предмет этих недостатков, но могут только поверхностно. Если одна часть веб-сайта уязвима, высока вероятность того, что есть и другие проблемы.

 

Как защитить себя

Основные средства защиты от XSS описаны в шпаргалке по предотвращению XSS OWASP .

Кроме того, очень важно отключить поддержку HTTP TRACE на всех веб-серверах. Злоумышленник может украсть данные cookie через Javascript, даже если document.cookie отключен или не поддерживается клиентом. Эта атака устанавливается, когда пользователь публикует вредоносный скрипт на форуме, поэтому, когда другой пользователь щелкает ссылку, запускается асинхронный вызов HTTP Trace, который собирает информацию cookie пользователя с сервера, а затем отправляет ее на другой вредоносный сервер, который собирает информация cookie, чтобы злоумышленник мог организовать атаку с перехватом сеанса. Это легко устранить, удалив поддержку HTTP TRACE на всех веб-серверах.

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

 

Альтернативный синтаксис XSS

XSS с использованием скрипта в атрибутах

XSS-атаки могут проводиться без использования <script>...</script> тегов. Другие теги будут делать то же самое, например: <body onload=alert('test1')>или другие атрибуты, такие как: onmouseover, onerror.

при наведении мыши

<b onmouseover=alert('Wufff!')>click me!</b>

ошибка

<img data-lazy-src="http://url.to.file.which/not.exist" onerror=alert(document.cookie);>

XSS с использованием сценария через закодированные схемы URI

Если нам нужно спрятаться от фильтров веб-приложений, мы можем попытаться закодировать строковые символы, например: a=&\#X41(UTF-8) и использовать их в IMGтегах:

<IMG SRC=jAvascript:alert('test2')>

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

XSS с использованием кодирования кода

Мы можем закодировать наш скрипт в base64 и поместить его в METAтег. Таким образом мы alert()полностью избавляемся от . Более подробную информацию об этом методе можно найти в RFC 2397.

<META HTTP-EQUIV="refresh"

CONTENT="0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgndGVzdDMnKTwvc2NyaXB0Pg">

 

Индексация XSS

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

Оцените статью: 4.5 (4)
Следующая статья: Ссылочные факторы ранжирования
Предыдущая статья: Что такое витальные запросы?
Написать статью для вас?
Отправьте заявку на статью: если проблема окажется актуальной и массовой – мы опишем ее решение и разместим статью на сайте.
Хочу статью
При заказе
продвижения
Скидка на
разработку
сайта
Заказать
Приведи
друга
получи
скидку
Подробнее
Специальное
предложение
против
вируса
Получить кп
Комментарии
Показать сначала:
Новые Старые
Виктор
22.05.2016, 17:43
0
–  0
Спасибо за освещение вопроса, но чайник в этой сфере, подскажите пжлст способы прописывания инструкций в файле Робот. Спасибо!
Слава
26.12.2015, 12:24
0
–  0
Хороший совет если честно. раньше ни когда не мог подумать, что из за XSS может тормозить индексация сайта.
Написать комментарий
captcha

Новые исследования

2020-01-21 00:00:00

Колдунщики и специальные элементы: польза или «польза» для сайта

Главная задача оптимизации сайта – занять лучшее место на первой странице поиска из всех возможных. Причем в конкретном случае мы не имеем в виду ТОП-1 или ТОП-10.
Читать 182

2019-12-15 00:00:00

Google отбирает трафик у сайтов: подтверждения и как сохранить посещаемость

Поисковая система Гугл регулярно вносит изменения в работу собственных алгоритмов. Еще на майской конференции  Google I/O 2019 анонсировали изменения для мобильных версий сайтов, которые предположительно приведут к монополизации трафика этой компанией. Но, как говорится, чем дальше в лес, тем больше дров. Оптимизаторы на многочисленных публичных мероприятиях высказывают опасения, находящие подтверждения, по поводу концентрации трафика на поисковой выдаче. Поскольку угроза для работы сайтов кажется вполне реальной, стоит разобраться в вопросах допустимости монополизации трафика, а также возможностях противостоять этому факту.

Читать 176
Больше исследований

Интервью и мнения SEO-гуру

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

Евгений Аралов: главные прогнозы на 2020 (сервисы и методы)

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

Анализ SEO для СМИ: ведущий эксперт отрасли Галина Бакушева

Для одних Галина Бакушева ассоциируется с каналом Телеграм «Сеошница», для других, она создатель собственного ТВ на фейсбук. Однако такая популярность не г...

Ксения Пескова: качественный продукт приятно рассматривать даже краулерам

Всего два года потребовалось, чтобы стажер SiteClinic, Ксения Пескова, стала не просто тимлидом компании, но и трастовым экспертом в области SEO. Все началось почти ср...

Кирилл Рамирас: лучшие рекомендации по ведению блога для ИМ

Кирилл Рамирас интересен владельцам бизнеса в сети своими успешными проектами, опытом работы в SEO с 2007 года. Регулярное обновление публикаций на Altblog.ru &nd...

Алексей Алексеич: рост и боль в продвижении 2020 - какие прогнозы сбылись?

Сам о себе говорит, что он точно не Андрей, любит котов и смотрит «Битву Престолов». Если серьезно, эксперту 25 лет и с 2011 года основательно занимается с...

Андрей Буйлов: проблемы seo клиента не волнуют!

Андрей Буйлов – известный в сети эксперт по SEO продвижению сайтов. Свою карьеру начинал в конце 90-х. Тогда будущий спикер разнообразных конференций, семинаров ...

Все интервью
Нам доверяют крупные международные компании