web-dev-qa-db-fra.com

Qu'est-ce que l'en-tête http "X-XSS-Protection"?

Donc, je me suis amusé avec HTTP pour m'amuser dans telnet (par exemple, il suffit de taper telnet google.com 80 et de mettre en place des GET et des POST aléatoires avec différents en-têtes, etc.), mais j'ai trouvé quelque chose que google.com transmet. dans ses en-têtes que je ne sais pas.

J'ai parcouru http://www.w3.org/Protocols/rfc2616/rfc2616.html et n'ai trouvé aucune définition de cet en-tête http que Google semble annoncer:

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

Quelqu'un sait ce que X-XSS-Protection est?

183
midc111

X-XSS-Protection est un en-tête HTTP compris par Internet Explorer 8 (et les versions plus récentes). Cet en-tête permet aux domaines d'activer et de désactiver le "filtre XSS" d'IE8, qui empêche certaines catégories d'attaques XSS. Le filtre est activé par défaut sur IE8, mais les serveurs peuvent le désactiver en définissant

   X-XSS-Protection: 0

Voir aussi 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: Forcer la protection XSS (utile si la protection XSS a été désactivée par l'utilisateur)

  • X-XSS-Protection: 0: Désactiver la protection XSS

  • Le jeton mode=block empêchera les navigateurs (navigateurs IE8 + et Webkit) d'afficher les pages (au lieu de les désinfecter) si une attaque par réflexion XSS potentielle (= non persistante) est détectée.

/!\Warning, mode=block crée une vulnérabilité dans IE8 ( plus d'informations ).

Plus d'informations: http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx et - http://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/

56
Fabien Sa

Cet en-tête de réponse peut être utilisé pour configurer la protection XSS réflective intégrée d'un agent d'utilisateur. Actuellement, seuls Internet Explorer, Google Chrome et Safari (WebKit) de Microsoft prennent en charge cet en-tête.

Internet Explorer 8 incluait une nouvelle fonctionnalité permettant d'éviter les attaques de scripts intersites réfléchies, appelée filtre XSS . Ce filtre s'exécute par défaut dans les zones de sécurité Internet, de confiance et restreinte. Les pages de la zone Intranet locale peuvent choisir de participer à la protection en utilisant le même en-tête.

A propos de l'en-tête que vous avez posté dans votre question,

L'en-tête X-XSS-Protection: 1; mode=block active le filtre XSS. Plutôt que de nettoyer la page, lorsqu'une attaque XSS est détectée, le navigateur empêche le rendu de la page.

En mars 2010, nous avons ajouté à IE8 la prise en charge d'un nouveau jeton dans l'en-tête X-XSS-Protection, mode = block.

X-XSS-Protection: 1; mode=block

Lorsque ce jeton est présent, si une attaque potentielle de XSS Reflection est détectée, Internet Explorer empêchera le rendu de la page. Au lieu d'essayer d'assainir la page pour supprimer de manière chirurgicale l'attaque XSS, IE ne restituera que le caractère "#".

Internet Explorer reconnaît une éventuelle attaque de script entre sites. Il enregistre l'événement et affiche un message approprié à l'utilisateur. L'article MSDN décrit le fonctionnement de cet en-tête.

Comment ce filtre fonctionne dans IE ,

Plus d'informations sur cet article, https://blogs.msdn.Microsoft.com/ie/2008/07/02/ie8-security-part-iv-the-xss-filter/

Le filtre XSS fonctionne comme un composant IE8 avec une visibilité sur toutes les demandes/réponses transitant par le navigateur. Lorsque le filtre découvre une éventuelle XSS dans une requête intersite, il identifie et attaque l’attaque si elle est rejouée dans la réponse du serveur. Les utilisateurs ne se voient pas poser de questions auxquelles ils ne peuvent pas répondre - IE bloque simplement l'exécution du script malveillant.

Avec le nouveau filtre XSS, les utilisateurs d'IE8 Bêta 2 confrontés à une attaque de type 1 par XSS recevront une notification comme celle-ci:

Notification d'attaque XSS IE8

La page a été modifiée et l'attaque XSS est bloquée.

Dans ce cas, le filtre XSS a identifié une attaque de script intersite dans l'URL. Il a neutralisé cette attaque lorsque le script identifié a été rejoué dans la page de réponse. De cette manière, le filtre est efficace sans modifier une requête initiale au serveur ni bloquer une réponse complète.

L'événement Filtre de script intersite est enregistré lorsque Windows Internet Explorer 8 détecte et atténue une attaque par script intersite (XSS). Les attaques de script entre sites se produisent lorsqu'un site Web, généralement malveillant, injecte (ajoute) du code JavaScript dans des requêtes par ailleurs légitimes vers un autre site Web. La requête d'origine est généralement innocente, par exemple un lien vers une autre page ou un script CGI fournissant un service commun (tel qu'un livre d'or). Le script injecté tente généralement d'accéder à des informations ou à des services privilégiés que le deuxième site Web n'a pas l'intention d'autoriser. La réponse ou la demande reflète généralement les résultats sur le site Web malveillant. Le filtre XSS, une nouvelle fonctionnalité d'Internet Explorer 8, détecte le JavaScript dans les requêtes URL _ et HTTP POST. Si JavaScript est détecté, le filtre XSS recherche les preuves de réflexion, informations qui seraient renvoyées au site Web attaquant si la demande attaquante était soumise sans modification. Si une réflexion est détectée, le filtre XSS filtre la demande d'origine de sorte que le code JavaScript supplémentaire ne puisse pas être exécuté. Le filtre XSS enregistre ensuite cette action en tant qu'événement Filtre de script intersite. L'image suivante montre un exemple de site modifié pour empêcher une attaque de script intersite.

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

Les développeurs Web peuvent souhaiter désactiver le filtre pour leur contenu. Ils peuvent le faire en définissant un en-tête HTTP:

X-XSS-Protection: 0

Plus sur les en-têtes de sécurité dans,

41
Lucky

Vous pouvez voir dans ceci Liste d'en-têtes HTTP utiles .

X-XSS-Protection: Cet en-tête active le filtre XSS (Cross-Site Scripting) intégré aux navigateurs Web les plus récents. De toute façon, il est généralement activé par défaut de toute façon. Le rôle de cet en-tête est donc de réactiver le filtre pour ce site Web particulier s'il était désactivé par l'utilisateur. Cet en-tête est pris en charge dans IE 8+ et dans Chrome (vous ne savez pas quelles versions). Le filtre anti-XSS a été ajouté à Chrome 4. On ne sait pas si cette version a respecté cet en-tête.

9
Abdul Majid Sheike