考核内容: Web安全:X-XSS-Protection头(防XSS攻击设置)
题发散度: ★★★★★
试题难度: ★★★★★
解题思路:
定义:
跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
危害:
攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。
诱使受害者打开受到攻击的服务器URL,受害者在Web浏览器中打开URL,恶意脚本执行。
XSS攻击的防御。这种浏览器内置的功能称为XSS过滤器,旨在缓解反映的XSS。Webkit后来有了自己的版本,叫做Chrome和Safari的XSS审计。这个想法很简单:如果一个恶意的输入被反映在文档中,反射的部分将被删除或整个文档根本不会被渲染。
设置
网站可以明确地包含X-XSS-Protection标题,告诉浏览器过滤器/审核员应该如何操作。Thare有三种可能的选择:
0(禁用XSS过滤器/审核员)
1(删除不安全的部分;如果没有X-XSS-Protection标题,这是默认设置)
1; mode = block(如果找到XSS,则不要渲染文档)
说明:会对 iframe embed a 等 标签限制,普通便签 div p 等不会限制。
参考代码
php解决办法:
header('X-XSS-Protection: 0');
nginx 解决办法:
add_header X-XSS-Protection 0;