XSS-Protection未配置漏洞

0x00 背景

HTTP XSS-Protection响应标头是Internet Explorer,Chrome和Safari的功能,当页面检测到反射的跨站点脚本(XSS)攻击时,该页面将阻止加载页面。 尽管当站点实施强大的Content-Security-Policy禁止使用内JavaScript(“不安全内联”)时。

在现代浏览器中这些保护在很大程度上是不必要的,但它们仍可以为尚未使用旧版Web浏览器的用户提供保护 支持CSP。

0x01 修复思路

配置XSS-Protection响应标头值

X-XSS-Protection: 0 #禁用XSS过滤。

X-XSS-Protection: 1 #启用XSS过滤(通常是浏览器中的默认设置)。 如果检测到跨站点脚本攻击,则浏览器将对页面进行清理(删除不安全的部分)。

X-XSS-Protection: 1; mode=block #模式=阻止

启用XSS过滤。 如果检测到攻击,浏览器将不呈现页面,而不会清除页面。

X-XSS-Protection: 1; report=

1; report = (仅支持Chrome浏览器),启用XSS过滤。 如果检测到跨站点脚本攻击,浏览器将清理该页面并报告违规行为。 这使用CSP report-uri指令的功能来发送报告。

0x02 代码修复

推荐配置:X-XSS-Protection: 1; mode=block

Nginx

add_header "X-XSS-Protection" "1; mode=block";

Apache (.htaccess)

  Header set X-XSS-Protection "1; mode=block"

PHP

header("X-XSS-Protection: 1; mode=block");

你可能感兴趣的:(渗透测试,安全技术)