Nginx 配置错误漏洞 add_header被覆盖.md
975 B / 2021-04-21 09:23:46
Nginx 配置错误漏洞 add\_header被覆盖
====================================
一、漏洞简介
------------
二、漏洞影响
------------
三、复现过程
------------
Nginx配置文件子块(server、location、if)中的`add_header`,将会覆盖父块中的`add_header`添加的HTTP头,造成一些安全隐患。
如下列代码,整站(父块中)添加了CSP头:
add_header Content-Security-Policy "default-src 'self'";
add_header X-Frame-Options DENY;
location = /test1 {
rewrite ^(.*)$ /xss.html break;
}
location = /test2 {
add_header X-Content-Type-Options nosniff;
rewrite ^(.*)$ /xss.html break;
}
但`/test2`的location中又添加了`X-Content-Type-Options`头,导致父块中的`add_header`全部失效:
![](./resource/Nginx配置错误漏洞add_header被覆盖/media/rId24.png)
XSS可被触发:
![](./resource/Nginx配置错误漏洞add_header被覆盖/media/rId25.png)