码迷,mamicode.com
首页 > 其他好文 > 详细

add_header被覆盖 -配置错误

时间:2020-04-18 15:43:32      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:ima   csp   server   bre   security   sel   frame   location   break   

Nginx的配置文件分为Server、Location、If等一些配置块,并且存在包含关系,和编程语言比较类似。如果在外层配置的一些选项,是可以被继承到内层的。

但这里的继承也有一些特性,比如add_header,子块中配置后将会覆盖父块中的add_header添加的所有HTTP头,造成一些安全隐患。

如下列代码,整站(父块中)添加了CSP头:

server {
    ...
    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全部失效:

技术图片

 

构建xss

ip/test1#<img src=1 onerror=alert(1)>

技术图片

 

add_header被覆盖 -配置错误

标签:ima   csp   server   bre   security   sel   frame   location   break   

原文地址:https://www.cnblogs.com/null1433/p/12725891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!