web-dev-qa-db-de.com

Was ist der http-Header "X-XSS-Protection"?

Also habe ich jetzt zum Spaß mit HTTP in Telnet rumgespielt (d. H. Ich habe nur telnet google.com 80 und das Einfügen von zufälligen GETs und POSTs mit unterschiedlichen Headern und dergleichen), aber ich bin auf etwas gestoßen, das google.com in seinen Headern überträgt, die ich nicht kenne.

Ich habe http://www.w3.org/Protocols/rfc2616/rfc2616.html durchgesehen und keine Definition für diesen bestimmten http-Header gefunden, aus dem Google zu sprudeln scheint:

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

Wer weiß was X-XSS-Protection ist?

183
midc111

X-XSS-Protection ist ein HTTP-Header, der von Internet Explorer 8 (und neueren Versionen) verstanden wird. Mit diesem Header können Domänen den "XSS-Filter" von IE8 aktivieren und deaktivieren, wodurch einige Kategorien von XSS-Angriffen verhindert werden. In IE8 ist der Filter standardmäßig aktiviert, Server können jedoch durch Einstellung ausgeschaltet werden

   X-XSS-Protection: 0

Siehe auch http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-Explorer-xss-filter-with-the-x-xss-protection- http-header.aspx

101
Luca Invernizzi
  • X-XSS-Protection: 1: XSS-Schutz erzwingen (nützlich, wenn der Benutzer den XSS-Schutz deaktiviert hat)

  • X-XSS-Protection: 0: Deaktiviert den XSS-Schutz

  • Das Zeichen mode=block verhindert, dass der Browser (IE8 + und Webkit-Browser) Seiten rendert (anstatt sie zu bereinigen), wenn ein möglicher XSS-Reflexionsangriff (= nicht persistent) erkannt wird.

/!\ Warnung, mode=block erstellt eine Sicherheitslücke in IE8 ( weitere Informationen ).

Weitere Informationen: http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx und - http://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/

56
Fabien Sa

Dieser Antwortheader kann zum Konfigurieren des integrierten XSS-Schutzes eines Benutzeragenten verwendet werden. Derzeit unterstützen nur der Microsoft Internet Explorer, Google Chrome und Safari (WebKit)) diesen Header.

Internet Explorer 8 enthielt eine neue Funktion zum Verhindern von reflektierten Cross-Site-Scripting-Angriffen, den so genannten XSS-Filter . Dieser Filter wird standardmäßig in den Sicherheitszonen Internet, Vertrauenswürdig und Eingeschränkt ausgeführt. Lokale Intranetzonenseiten können sich mit demselben Header für den Schutz anmelden.

Über den Header, den Sie in Ihrer Frage gepostet haben,

Der Header X-XSS-Protection: 1; mode=block aktiviert den XSS-Filter. Anstatt die Seite zu bereinigen, verhindert der Browser das Rendern der Seite, wenn ein XSS-Angriff erkannt wird.

Im März 2010 haben wir die IE8-Unterstützung für ein neues Token im X-XSS-Protection-Header mode = block erweitert.

X-XSS-Protection: 1; mode=block

Wenn dieses Token vorhanden ist und ein möglicher XSS Reflection-Angriff erkannt wird, verhindert Internet Explorer das Rendern der Seite. Anstatt zu versuchen, die Seite zu bereinigen, um den XSS-Angriff chirurgisch zu entfernen, gibt IE nur "#" aus.

Internet Explorer erkennt einen möglichen siteübergreifenden Skriptangriff. Es protokolliert das Ereignis und zeigt dem Benutzer eine entsprechende Meldung an. Der MSDN-Artikel beschreibt, wie dieser Header funktioniert.

Wie dieser Filter im IE funktioniert ,

Weitere Informationen zu diesem Artikel finden Sie unter https://blogs.msdn.Microsoft.com/de/2008/07/02/ie8-security-part-iv-the-xss-filter/

Der XSS-Filter fungiert als IE8-Komponente und zeigt alle Anforderungen/Antworten an, die über den Browser gesendet werden. Wenn der Filter wahrscheinlich XSS in einer standortübergreifenden Anforderung entdeckt, identifiziert und neutralisiert er den Angriff, wenn er in der Antwort des Servers wiederholt wird. Den Benutzern werden keine Fragen gestellt, die sie nicht beantworten können. - IE blockiert einfach die Ausführung des böswilligen Skripts.

Mit dem neuen XSS-Filter wird IE8 Beta 2-Benutzern, die auf einen XSS-Angriff vom Typ 1 stoßen, eine Benachrichtigung wie die folgende angezeigt:

IE8 XSS Attack Notification

Die Seite wurde geändert und der XSS-Angriff ist blockiert.

In diesem Fall hat der XSS-Filter einen siteübergreifenden Skriptangriff in der URL festgestellt. Dieser Angriff wurde neutralisiert, da das identifizierte Skript auf der Antwortseite wiedergegeben wurde. Auf diese Weise ist der Filter wirksam, ohne eine anfängliche Anforderung an den Server zu ändern oder eine gesamte Antwort zu blockieren.

Das Cross-Site Scripting Filter-Ereignis wird protokolliert, wenn Windows Internet Explorer 8 einen Cross-Site Scripting (XSS) -Angriff erkennt und abschwächt. Cross-Site-Scripting-Angriffe treten auf, wenn eine Website, die im Allgemeinen böswillig ist, JavaScript-Code in ansonsten legitime Anforderungen an eine andere Website einfügt. Die ursprüngliche Anforderung ist im Allgemeinen unschuldig, z. B. ein Link zu einer anderen Seite oder ein CGI-Skript (Common Gateway Interface), das einen gemeinsamen Dienst (z. B. ein Gästebuch) bereitstellt. Das injizierte Skript versucht im Allgemeinen, auf privilegierte Informationen oder Dienste zuzugreifen, die die zweite Website nicht zulassen möchte. Die Antwort oder die Anfrage spiegelt im Allgemeinen die Ergebnisse auf der böswilligen Website wider. Der XSS-Filter, eine neue Funktion in Internet Explorer 8, erkennt JavaScript in URL- und HTTP-Anforderungen POST. Wenn JavaScript erkannt wird, sucht der XSS-Filter nach Nachweisen für Reflexionen und nach Informationen, die an das zurückgegeben werden Angreifende Website, wenn die angreifende Anforderung unverändert übermittelt wurde. Wenn eine Reflektion festgestellt wird, bereinigt der XSS-Filter die ursprüngliche Anforderung, sodass das zusätzliche JavaScript nicht ausgeführt werden kann. Der XSS-Filter protokolliert diese Aktion dann als Cross-Site Script Filter-Ereignis zeigt ein Beispiel für eine Site, die geändert wurde, um einen siteübergreifenden Skriptangriff zu verhindern.

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

Webentwickler möchten möglicherweise den Filter für ihren Inhalt deaktivieren. Sie können dies tun, indem Sie einen HTTP-Header setzen:

X-XSS-Protection: 0

Weitere Informationen zu Sicherheitsköpfen in,

41
Lucky

Sie können in diesem Liste der nützlichen HTTP-Header sehen.

X-XSS-Schutz: Dieser Header aktiviert den Cross-Site-Scripting-Filter (XSS), der in die neuesten Webbrowser integriert ist. Es ist normalerweise sowieso standardmäßig aktiviert, daher besteht die Rolle dieses Headers darin, den Filter für diese bestimmte Website wieder zu aktivieren, wenn er vom Benutzer deaktiviert wurde. Dieser Header wird in IE 8+ und in Chrome (nicht sicher, welche Versionen)) unterstützt. Der Anti-XSS-Filter wurde in Chrome 4. Es ist nicht bekannt, ob diese Version diesen Header berücksichtigt.

9