O que é o http-header "X-XSS-Protection"?

então eu tenho andado a brincar com HTTP por diversão em telnet agora (ou seja, apenas a escrever em "telnet" google.com 80" e colocando em GETs aleatórios e POSTs com cabeçalhos diferentes e assim) mas eu encontrei algo que google.com transmite os cabeçalhos que não conheço.

Tenho andado a ver ... http://www.w3.org/Protocols/rfc2616/rfc2616.html e não encontraram nenhuma definição para este cabeçalho http em particular que o google parece estar a spouting fora:

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
Alguém sabe o que é "X-XSS-Protection"?

Author: Nico, 2012-02-01

4 answers

X-XSS-Protection é um cabeçalho HTTP compreendido pelo Internet Explorer 8 (e versões mais recentes). Este cabeçalho permite aos domínios activar ou desactivar o "filtro XSS" do IE8, o que evita algumas categorias de ataques XSS. O IE8 tem o filtro activado por omissão, mas os servidores podem desligar se activarem

   X-XSS-Protection: 0

Consulte também http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx

 97
Author: Luca Invernizzi, 2013-03-13 20:17:35
  • X-XSS-Protection: 1 : forçar a protecção XSS (útil se a protecção XSS foi desactivada pelo Utilizador)

  • X-XSS-Protection: 0 : Desactivar a protecção XSS

  • O token mode=block irá impedir o navegador (navegadores IE8+ e Webkit) de desenhar páginas (em vez de limpar) se for detectado um potencial ataque de reflexão XSS (= não-persistente).

/!\ Warning, mode=block cria uma vulnerabilidade no IE8 (mais informação).

Mais informações : http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx e http://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/

 51
Author: Fabien Sa, 2017-12-18 20:28:18

Este cabeçalho de resposta pode ser usado para configurar a proteção XSS reflexiva de um usuário-agente. Atualmente, apenas o Microsoft Internet Explorer, Google Chrome e Safari (WebKit) suportam este cabeçalho.

o Internet Explorer 8 incluiu um novo recurso para ajudar a prevenir ataques de scripts de sites refletidos, conhecido como o filtro XSS . Este filtro é executado por padrão na internet, zonas de segurança confiável e restrita. As páginas da zona Intranet Local podem optar por a proteção usando o mesmo cabeçalho.

Sobre o cabeçalho que postaste na tua pergunta,

O cabeçalho X-XSS-Protection: 1; mode=block activa o filtro XSS. Em vez de limpar a página, quando um ataque XSS é detectado, o navegador irá impedir a renderização da página.

Em Março de 2010, adicionámos ao apoio do IE8 um novo símbolo no Cabeçalho X-XSS-Protection, mode = block.
X-XSS-Protection: 1; mode=block
Quando este símbolo está presente, se um potencial ataque de reflexão XSS for detectado, o Internet Explorer vai impedir a renderização da página. Em vez de tentar limpar a página para remover cirurgicamente o XSS attack, IE irá renderizar apenas"#". O Internet Explorer reconhece um possível ataque de programação cruzada. Ele registra o evento e exibe uma mensagem apropriada para o usuário. O O artigo MSDN descreve como este cabeçalho funciona.

Como este filtro funciona no IE,

Mais informações sobre este artigo, https://blogs.msdn.microsoft.com/ie/2008/07/02/ie8-security-part-iv-the-xss-filter/

O filtro XSS funciona como um componente IE8 com visibilidade em todos os pedidos / respostas que fluem através do navegador. Quando o filtro descobre o XSS provável em um pedido de cross-site, identifica e neutraliza o ataque se for reproduzido na resposta do servidor. Usuario não são apresentadas com perguntas que eles são incapazes de responder-ou seja, simplesmente bloqueia o script malicioso de execucao.

Com o novo filtro XSS, os utilizadores IE8 Beta 2 encontram um XSS tipo-1 o ataque verá uma notificação como a seguinte:

Notificação de ataque IE8 XSS

A página foi modificada e o ataque XSS está bloqueado.

Neste caso, o filtro XSS identificou uma programação transversal ataque na URL. Neutralizou este ataque como o identificado. o script foi reproduzido de volta para a página de resposta. Desta forma, o o filtro é eficaz sem modificar um pedido inicial para o servidor ou bloquear uma resposta completa.

O evento de Filtragem de programação cruzada é registado quando o Windows Internet O Explorer 8 detecta e mitiga um ataque de scripting cross-site (XSS). Ataques de scripting entre sites ocorrem quando um site, geralmente código de JavaScript malicioso, injets (adds) em legítimo caso pedidos para outro site. O pedido original é geralmente inocente, como uma ligação a outra página ou uma interface de Gateway comum (CGI) script providing a common service (such as a guestbook). O script injetado geralmente tenta acessar informações privilegiadas ou serviços que o segundo site não pretende permitir. O a resposta ou o pedido reflecte geralmente os resultados site malicioso. O filtro XSS, um recurso novo para o Internet Explorer 8, detecta JavaScript em pedidos de URL e HTTP POST. Se o JavaScript for detectado, as pesquisas do filtro XSS prova de reflexão, informação isso seria devolvido ao site de ataque se o ataque o pedido foi apresentado sem alterações. Se for detectada reflexão, o XSS Filtro saniza o pedido original para que o adicional O JavaScript não pode ser executado. O filtro XSS regista então a acção como um evento de Filtragem de 'scripts' Cross-Site. A imagem seguinte mostra um exemplo de um site que é modificado para evitar um ataque de scripting cross-site.

Fonte: https://msdn.microsoft.com/en-us/library/dd565647(v=vs. 85).aspx

Os programadores Web podem querer desactivar o filtro para o seu conteúdo. Eles podem fazê-lo definindo um cabeçalho HTTP:

X-XSS-Protection: 0

Mais informações sobre os cabeçalhos de segurança,

 36
Author: Lucky, 2017-11-21 12:10:07

Você pode ver nesta lista de cabeçalhos HTTP úteis .

X-XSS-Protection: este cabeçalho activa o filtro de programação cruzada (XSS) incorporado nos navegadores web mais recentes. Ele é normalmente ativado por padrão de qualquer maneira, então o papel deste cabeçalho é re-ativar o filtro para este site em particular, se ele foi desativado pelo Usuário. Este cabeçalho é suportado no IE 8+, e no Chrome (não sei quais versões). O filtro anti-XSS foi adicionado no cromo 4. O seu desconhecido se essa versão honrasse este cabeçalho.

 8
Author: Abdul Majid Sheike, 2017-12-18 20:30:51