Qu'est-il vraiment le faire? Il permet à des tiers de créer un lien vers un gâchée version de votre site.
Il débute lorsque [quelques conditions sont remplies et que] il voit une chaîne de caractères dans la requête de soumission qui existe aussi mot pour mot dans la page, et qu'il pense peut-être dangereux.
Il suppose que, si <script>something()</script>
existe dans la chaîne de requête et le code de la page, alors il doit être parce que votre script côté serveur est précaire et reflète cette chaîne, le dos droit comme un balisage sans s'échapper.
Mais bien sûr, en dehors du fait que c'est parfaitement valide requête quelqu'un pourrait avoir tapé qui correspond, par hasard, il est tout aussi possible qu'ils correspondent parce que quelqu'un a regardé la page et délibérément copié une partie. Par exemple:
http://www.bing.com/search?q=%3Cscript+type%3D%22text%2Fjavascript%22%3E
Suivre que dans IE8 et j'ai été saboté votre Bing page sera donc de donner des erreurs de script, et de la pop-out résultat bits ne fonctionnera pas. Essentiellement, il donne un attaquant dont le lien est suivi de la licence de choisir et de désactiver des parties de la page, il n'aime pas - et qui pourrait même inclure d'autres mesures de sécurité comme framebuster scripts.
Ce n'IE8 considèrent comme "potentiellement dangereux"? Un beaucoup plus et beaucoup des choses plus étranges que juste cette balise de script. par exemple. Qui plus est, il semble correspondre à un ensemble de "dangereuses", les modèles à l'aide d'un modèle de texte du système (probablement regex), au lieu de tout type d'analyseur HTML comme celui qui finira par analyser la page elle-même. Oui, utiliser IE8 et votre navigateur est pařṣing HTML avec des regex.
‘La protection XSS' en regardant les chaînes de caractères dans la requête est totalement bidon. Il ne peut pas être "fixe"; le concept même est intrinsèquement viciée. Outre le problème d'intervenir lorsqu'il n'est pas voulu, il ne peut jamais vraiment vous protéger de quelque chose, mais la plupart des attaques de base et les attaquants vont sûrement solution de contournement de ces blocs que IE8 est plus largement utilisé. Si vous avez été d'oublier de s'échapper de votre sortie HTML correctement, vous serez toujours vulnérables; tous les XSS "protection" a à vous offrir est un faux sentiment de sécurité. Malheureusement, Microsoft semble comme ce faux sentiment de sécurité; il est semblable XSS "protection" dans ASP.NET aussi, sur le côté serveur.
Donc si vous avez une idée de création d'une webapp et vous avez été correctement échapper à la sortie au format HTML comme un bon garçon, il est certainement une bonne idée de désactiver cette indésirable, impraticable, de l'entêtement d'intrusion par la sortie de l'en-tête:
X-XSS-Protection: 0
dans vos réponses HTTP. (Et à l'aide de ValidateRequest="false"
dans vos pages si vous utilisez ASP.NET.)
Pour tous les autres, qui sont encore des élingues chaînes en PHP sans prendre soin de coder correctement... eh bien, vous pourriez aussi bien le laisser sur. Ne vous attendez pas à réellement protéger vos utilisateurs, mais votre site est déjà cassé, alors, qui se soucie si il se casse un peu plus, non?
Pour le voir en action, visitez un AOL Alimentaire de la page et cliquez sur l'icône "Imprimer" juste au-dessus de l'histoire.
Ah oui, je peux voir cette rupture dans IE8. Pas immédiatement évident où IE a fait le hack pour le contenu de l'arrêté d'exécution si... la seule demande de domaines que je peux voir c'est un candidat pour le filtre XSS est celle - http://h30405.www3.hp.com/print/start
:
POST /print/start HTTP/1.1
Host: h30405.www3.hp.com
Referer: http://recipe.aol.com/recipe/oatmeal-butter-cookies/142275?
csrfmiddlewaretoken=undefined&characterset=utf-8&location=http%253A%2F%2Frecipe.aol.com%2Frecipe%2Foatmeal-butter-cookies%2F142275&template=recipe&blocks=Dd%3Do%7Efsp%7E%7B%3D%25%3F%3D%3C%28%2B.%2F%2C%28%3D3%3F%3D%7Dsp%7Ct@kfoz%3D%25%3F%3D%7E%7C%7Czqk%7Cpspm%3Db3%3Fd%3Do%7Efsp%7E%7B%3D%25%3F%3D%3C%7D%2F%27%2B%2C.%3D3%3F%3D%7Dsp%7Ct@kfoz%3D%25%3F%3D%7E%7C%7Czqk...
qu' blocks
paramètre continue avec les pages plus du charabia. Sans doute il y a quelque chose là que (par hasard?) est reflété dans le code HTML renvoyé et déclenche l'un des IE8 est foiré idées de ce qu'est un XSS exploiter ressemble.
Pour résoudre ce problème, HP nécessaire pour que le serveur h30405.www3.hp.com inclure l' X-XSS-Protection: 0
- tête.