Так что я сейчас играю с 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
это?
http
http-headers
xss
midc111
источник
источник
Ответы:
X-XSS-Protection - это HTTP-заголовок, понятный для Internet Explorer 8 (и более новых версий). Этот заголовок позволяет доменам включать и выключать «XSS-фильтр» IE8, который предотвращает некоторые категории XSS-атак. IE8 имеет фильтр, активированный по умолчанию, но серверы могут отключиться, установив
Смотрите также http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header. ASPX
источник
X-XSS-Protection:1
а затем, какой алгоритм он использует для предотвращения XSS?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 / руководящие принципы-для-настройки-безопасности-заголовков /
источник
0
это единственное безопасное значение для этого заголовка. См. Stackoverflow.com/a/57802070/334451 для получения подробной информации.Этот заголовок ответа можно использовать для настройки встроенной отражающей защиты XSS агента пользователя. В настоящее время этот заголовок поддерживают только Microsoft Internet Explorer, Google Chrome и Safari (WebKit).
Internet Explorer 8 включил новую функцию, помогающую предотвратить отраженные межсайтовые сценарии, известную как XSS Filter . Этот фильтр работает по умолчанию в зонах безопасности «Интернет», «Доверенная» и «Ограниченная». Страницы зоны локальной интрасети могут подключиться к защите с использованием того же заголовка.
О заголовке, который вы разместили в своем вопросе,
Заголовок
X-XSS-Protection: 1; mode=block
включает фильтр XSS. Вместо того, чтобы дезинфицировать страницу, при обнаружении атаки XSS браузер предотвращает рендеринг страницы.Как этот фильтр работает в IE ,
Подробнее об этой статье, https://blogs.msdn.microsoft.com/ie/2008/07/02/ie8-security-part-iv-the-xss-filter/
Источник: https://msdn.microsoft.com/en-us/library/dd565647(v=vs.85).aspx
Веб-разработчики могут захотеть отключить фильтр для своего контента. Они могут сделать это, установив заголовок HTTP:
Подробнее о заголовках безопасности,
Рекомендации по настройке заголовков безопасности
Заголовки HTTP безопасности - X-XSS-PROTECTION
MDN Docs X-XSS-Защита
источник
X-XSS-Protection: 0
это единственный безопасный заголовок для этой функции. Для получения дополнительной информации см stackoverflow.com/a/57802070/334451Вы можете увидеть в этом списке полезных заголовков HTTP .
источник
X-XSS-Protection: 0
. Для получения дополнительной информации см stackoverflow.com/a/57802070/334451TL; DR: Все хорошо написанные веб-сайты (/ приложения) должны испускать заголовок
X-XSS-Protection: 0
и просто забыть об этой функции. Если вы хотите иметь дополнительную безопасность, которую могут обеспечить лучшие пользовательские агенты, используйте строгийContent-Security-Policy
заголовок.Длинный ответ:
HTTP-заголовок
X-XSS-Protection
- это одна из тех вещей, которые Microsoft представила в Internet Explorer 8.0 (MSIE 8), которая должна была повысить безопасность неправильно написанных веб-сайтов.Идея состоит в том, чтобы применить некоторую эвристику, чтобы попытаться обнаружить отражение XSS-атаки и автоматически нейтрализовать атаку.
Проблемная часть этого - «эвристика» и «стерилизация». Эвристика вызывает ложные срабатывания, и стерилизация не может быть безопасно выполнена, поскольку она вызывает побочные эффекты, которые можно использовать для реализации атак XSS и DoS на совершенно безопасных веб-сайтах.
Плохо то, что если веб-сайт не
X-XSS-Protection
отправляет заголовок, браузер будет вести себя так, как если бы заголовокX-XSS-Protection: 1
был отправлен. Хуже всего то, что это значение является наименее безопасным значением из всех возможных значений для этого заголовка!Для данного защищенного веб-сайта (т. Е. На сайте отсутствуют отражающие XSS-уязвимости) эта функция «XSS-защиты» позволяет выполнять следующие атаки:
X-XSS-Protection: 1
позволяет злоумышленнику выборочно блокировать части JavaScript и поддерживать работу остальных сценариев. Это возможно, потому что эвристика этой функции просто «если значение какого-либо параметра GET найдено в части сценария источника страницы, сценарий будет автоматически изменен зависимым от агента пользователя способом». На практике злоумышленник может, например, добавить параметр,disablexss=<script src="framebuster.js"
и браузер автоматически удалит строку<script src="framebuster.js"
из фактического источника страницы. Обратите внимание, что остальная часть страницы продолжает работать, и злоумышленник только что удалил эту часть безопасности страницы. На практике любой JS в исходном коде страницы может быть изменен. В некоторых случаях страница без уязвимости XSS с отраженным содержимым может использоваться для запуска выбранного JavaScript на странице из-за стерилизацииневерное преобразование данных простого текста в исполняемый код JavaScript .X-XSS-Protection: 1; mode=block
позволяет злоумышленнику утекать данные из источника страницы, используя поведение страницы в качестве побочного канала. Например, если страница содержит код JavaScript вдоль строкvar csrf_secret="521231347843"
, злоумышленник просто добавляет дополнительный параметр, например,leak=var%20csrf_secret="3
и если страница НЕ заблокирована,3
неправильная первая цифра. Атакующий пытается снова, на этот разleak=var%20csrf_secret="5
загрузка страницы будет прервана. Это позволяет злоумышленнику узнать, что первая цифра секрета5
. Затем злоумышленник продолжает угадывать следующую цифру.В конце концов, если ваш сайт полон атак отражением XSS, использование значения по умолчанию
1
немного уменьшит поверхность атаки. Однако, если ваш сайт защищен и вы не излучаетеX-XSS-Protection: 0
, ваш сайт будет уязвим любым браузером, который поддерживает эту функцию. Если вам нужна глубокая защита от браузеров от неизвестных уязвимостей XSS на вашем сайте, используйте строгийContent-Security-Policy
заголовок. Это не открывает ваш сайт для известных уязвимостей.В настоящее время эта функция включена по умолчанию в MSIE, Safari и Google Chrome. Раньше это было включено в Edge, но Microsoft уже удалила эту ошибочную функцию из Edge . Mozilla Firefox никогда не реализовывал это.
Смотрите также:
https://homakov.blogspot.com/2013/02/hacking-facebook-with-oauth2-and-chrome.html https://blog.innerht.ml/the-misunderstood-x-xss-protection/ http: / /p42.us/ie8xss/Abusing_IE8s_XSS_Filters.pdf https://www.slideshare.net/masatokinugawa/xxn-en https://bugs.chromium.org/p/chromium/issues/detail?id=396544 https: // bugs.chromium.org/p/chromium/issues/detail?id=498982
источник