Что такое http-заголовок "X-XSS-Protection"? - PullRequest
182 голосов
/ 01 февраля 2012

Так что я сейчас играю с HTTP для развлечения в telnet (то есть просто набираю telnet google.com 80 и вставляю случайные GET и POST с разными заголовками и т. П.), Но я наткнулся на то, что google.com передает в своих заголовках, что я не знаю.

Я просматривал http://www.w3.org/Protocols/rfc2616/rfc2616.html и не нашел определения для этого конкретного http-заголовка, который, похоже, выдает Google:

GET / HTTP/1.1

HTTP/1.1 200 OK
Date: Wed, 01 Feb 2012 03:42:24 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=6ddbc0a0342e7e63:FF=0:TM=1328067744:LM=1328067744:S=4d4farvCGl5Ww0C3; expires=Fri, 31-Jan-2014 03:42:24 GMT; path=/; domain=.google.com
Set-Cookie: NID=56=PgRwCKa8EltKnHS5clbFuhwyWsd3cPXiV1-iXzgyKsiy5RKXEKbg89gWWpjzYZjLPWTKrCWhOUhdInOlYU56LOb2W7XpC7uBnKAjMbxQSBw1UIprzw2BFK5dnaY7PRji; expires=Thu, 02-Aug-2012 03:42:24 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

1000

Кто-нибудь знает, что такое X-XSS-Protection?

Ответы [ 4 ]

101 голосов
/ 29 апреля 2012

X-XSS-Protection - это HTTP-заголовок, понятный для Internet Explorer 8 (и более новых версий).Этот заголовок позволяет доменам включать и выключать «XSS-фильтр» IE8, который предотвращает некоторые категории XSS-атак.В IE8 фильтр активирован по умолчанию, но серверы могут отключиться, установив

   X-XSS-Protection: 0

См. Также http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx

56 голосов
/ 28 июля 2014
  • X-XSS-Protection: 1: принудительная защита XSS (полезно, если защита XSS была отключена пользователем)

  • X-XSS-Protection: 0: отключить защиту XSS

  • Токен mode=block не позволит браузеру (браузерам IE8 + и Webkit) отображать страницы (вместо очистки), если обнаружена потенциальная атака с отражением XSS (= непостоянная).

/! \ Предупреждение, mode=block создает уязвимость в IE8 ( больше информации ).

Больше информации: http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx и http://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/

41 голосов
/ 18 января 2016

Этот заголовок ответа может использоваться для настройки встроенной отражающей защиты XSS агента пользователя. В настоящее время этот заголовок поддерживают только Microsoft Internet Explorer, Google Chrome и Safari (WebKit).

В Internet Explorer 8 включена новая функция для предотвращения отраженных межсайтовых скриптовых атак, известная как XSS Filter . Этот фильтр работает по умолчанию в зонах безопасности «Интернет», «Доверенная» и «Ограниченная». Страницы зоны локальной интрасети могут подключиться к защите с использованием того же заголовка.

О заголовке, который вы разместили в своем вопросе,

Заголовок X-XSS-Protection: 1; mode=block включает XSS-фильтр. Вместо того, чтобы дезинфицировать страницу, при обнаружении атаки XSS браузер предотвращает рендеринг страницы.

В марте 2010 года мы добавили в IE8 поддержку нового токена в Заголовок X-XSS-Protection, mode = block.

X-XSS-Protection: 1; mode=block

Когда этот токен присутствует, если потенциальная атака Отражения XSS Обнаруженный, Internet Explorer предотвратит рендеринг страницы. Вместо того, чтобы пытаться продезинфицировать страницу, чтобы хирургически удалить XSS атака, IE будет отображать только «#».

Internet Explorer распознает возможную межсайтовую скриптовую атаку. Он регистрирует событие и отображает соответствующее сообщение для пользователя. Статья MSDN описывает, как работает этот заголовок.

Как работает этот фильтр в IE ,

Подробнее об этой статье, https://blogs.msdn.microsoft.com/ie/2008/07/02/ie8-security-part-iv-the-xss-filter/

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

С новым XSS-фильтром пользователи IE8 Beta 2 сталкиваются с XSS типа 1 атака увидит уведомление, подобное следующему:

IE8 XSS-уведомление об атаке

Страница была изменена, и атака XSS заблокирована.

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

Событие фильтра межсайтовых сценариев регистрируется, когда Windows Internet Explorer 8 обнаруживает и смягчает атаку межсайтового скриптинга (XSS). Межсайтовые скриптовые атаки происходят, когда один сайт, как правило, злонамеренный, внедряет (добавляет) код JavaScript в иные законные запросы на другой сайт. Исходный запрос обычно невинный, такой как ссылка на другую страницу или общий интерфейс шлюза (CGI) скрипт, предоставляющий общую услугу (такую ​​как гостевая книга). Внедренный скрипт обычно пытается получить доступ к привилегированной информации или услуги, которые второй сайт не собирается предоставлять. ответ или запрос обычно отражают результаты вредоносный сайт. Фильтр XSS, новая функция для Internet Explorer 8, обнаруживает JavaScript в запросах URL и HTTP POST. Если JavaScript Обнаружен, фильтр XSS ищет доказательства отражения, информацию который будет возвращен на сайт атакующего, если атакующий Запрос был представлен без изменений. Если отражение обнаружено, XSS Фильтр очищает исходный запрос, чтобы дополнительный JavaScript не может быть выполнен. Фильтр XSS затем регистрирует это действие как событие межсайтового фильтра сценариев. На следующем рисунке показан пример сайта, который был изменен для предотвращения атаки межсайтовых скриптов.

Источник: https://msdn.microsoft.com/en-us/library/dd565647(v=vs.85).aspx

Мыb Разработчики могут захотеть отключить фильтр для своего контента.Они могут сделать это, установив заголовок HTTP:

X-XSS-Protection: 0

Подробнее о заголовках безопасности в,

9 голосов
/ 28 февраля 2016

Вы можете видеть в этом Список полезных заголовков HTTP .

X-XSS-Protection: Этот заголовок включает фильтр межсайтовых сценариев (XSS), встроенный в самые последние веб-браузеры. В любом случае он обычно включен по умолчанию, поэтому роль этого заголовка заключается в том, чтобы повторно включить фильтр для этого конкретного веб-сайта, если он был отключен пользователем. Этот заголовок поддерживается в IE 8+ и в Chrome (не уверен, какие версии). Фильтр анти-XSS был добавлен в Chrome 4. Неизвестно, учитывает ли эта версия этот заголовок.

...