Nginx设置装备摆设欠妥能够致使的安全问题 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

Nginx设置装备摆设欠妥能够致使的安全问题

申博_新闻事件 申博 109次浏览 已收录 0个评论

申博网络安全巴士站

申博-网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。

————————————-

Nginx设置装备摆设欠妥可以或许致使的安全题目

Auther: Spark1e
现在许多网站运用了nginx或许tenginx(淘宝基于Nginx研发的web效劳器)来做反向署理和静态效劳器,ningx的设置装备摆设文件nginx.conf的一些毛病设置装备摆设可以或许激发一些安全题目。要相识这些题目,我们先简朴相识一下Nginx的设置装备摆设文件

0x00 Nginx的设置装备摆设文件的花样

Nginx的主设置装备摆设文件异常简短,是由一些模块组成的。在任何情况下Nginx都邑加载其主设置装备摆设文件。
一个主设置装备摆设文件nginx.conf的构造以下:

Nginx设置装备摆设欠妥能够致使的安全问题

...              #全局块     -->main

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN]   #另一个location块
        {
            ...
        }
    }
}

Nginx是分层级构造的,每一个层级可以或许有本身的指令,而且子块会继续父块的设置装备摆设,然则若是子块设置装备摆设了与父块分歧的指令,则会掩盖掉父块的设置装备摆设。指令的花样是:
指令名 参数1 参数2 参数3;
也可以或许在设置装备摆设文件中包罗其他设置装备摆设文件。如include /etc/nginx/mime.types;就包罗了种种支撑的Content-type.
一个server块透露表现一个host,可以或许在server块中增加或许变动nginx效劳监听的端口、寄存网页文件的地位、和虚拟主机设置装备摆设(开反向署理)
一个location块代表一个路由映照划定规矩

0x01 反向署理设置装备摆设欠妥致使的ssrf破绽

Nginx常常拿来做反向署理效劳器。反向署理效劳器实在就是一台卖力转发的署理效劳器,完成了转发的作用,然后从真正的效劳器猎取数据并转发给客户端。
好比,我们让nginx监听一个端口(假定我们监听了80端口),然后我们经由过程设置装备摆设反向署理转发给另一个运用端口或许效劳器,由它来实行真正的要求。要求处置惩罚完成后数据会交给nginx,然后由nginx来返回给客户端。若是我们要将本机的80端口转发给192.168.1.2上的8080端口时,我们可以或许如许设置装备摆设:

server {
         listen       80;
         server_name 192.168.1.2:8080;    

         location / {   
                    proxy_pass http://192.168.1.2:8080;  
                    }  
             #......
            }

SSRF破绽一样平常出现在不正确的反向署理设置装备摆设中
若是nginx.conf举行了以下设置装备摆设

location /([a-zA-Z0-9.:%]+) {   
                    proxy_pass http://$1;  
            }

此时url是可控的。若是进击者修正url, 将其修正成内网IP便可致使SSRF破绽

0x02 alias致使的目次遍历/目次穿越/局部文件下载破绽

修正nginx.conf文件,在server块到场autoindex on;可以或许增加目次阅读功用,然则也会致使安全题目

server {
            autoindex on;
            ...
            }

便可杀青目次遍历

Nginx设置装备摆设欠妥能够致使的安全问题

在nginx做反向署理的时刻,我们一样平常会把动态局部传递给后方剖析的效劳器,由nginx来处置惩罚静态文件
当运用alias来对文件途径举行设置装备摆设时,有可以或许会形成目次穿越破绽
假定设置装备摆设文件中的设置装备摆设以下:

location /files/ {
            alias     /etc/nginx/txtpath/;
                }

一样平常用户接见http://your_ip/files/1.txt时,就可以或许读取/etc/nginx/txtpath/1.txt这个文件

Nginx设置装备摆设欠妥能够致使的安全问题

然则若是设置装备摆设毛病,files背面没有/,以下

location /files {
            alias     /etc/nginx/txtpath/;
                }

那末进击者有可以或许读到目的文件夹以外的文件。

Confluence downloadallattachments途径穿越破绽(CVE-2019-3398 )

漏洞描述: Confluence Server和Data Center在downloadallattachments资源中存在路径穿越漏洞。 在Page或Blogs具有添加附件权限的用户,或具有创建新空间或个人空间权限的用户,或对某空间具有“管理员”权限的用户可利用此路径穿越漏洞

然则因为在/files背面没有/,当我们接见http://your_ip/files../nginx.conf,会返回/etc/nginx/nginx.conf

Nginx设置装备摆设欠妥能够致使的安全问题

致使我们可以或许经由过程对目次举行爆破扫描等要领,猎取到指定文件夹以外的文件

当我们能同时杀青以上两个破绽的前提时,我们就可以或许读取到局部文件。

Nginx设置装备摆设欠妥能够致使的安全问题

alias指定的文件目次充足上层(比方在/home,/usr等)时,我们就可以或许穿越到根目次,读取到一切文件。因为设置装备摆设毛病而致使了恣意文件读取破绽

Nginx设置装备摆设欠妥能够致使的安全问题

0x03 uri致使的CRLF注入破绽

当一个网站运用https协定的时刻,许多站点会强迫用户运用https举行接见。当用户接见http的时刻会302跳转到https页面。
若是运用了 \$uri来举行设置装备摆设,可以或许会致使CRLF注入破绽

location /302 {
    return 302 https://$host$uri;
            }

nginx中 \$uri指的是要求的文件和途径,不会包罗背面要求的数据(即?和#背面的数据)
nginx效劳器会对$uri举行解码。当我们在传入的参数背面到场urlencode以后的换行符%0d%0a,我们就可以或许污染HTTP头的数据
比方,接见http://your_ip/302/123302跳转到https://your_ip/302/123。这是一样平常的跳转。
然则因为设置装备摆设文件内里运用的是$uri,会对我们传入的参数举行转码,当我们接见http://your_ip/302/123%0d%0a%0d%0atest=1时,302跳转会指向https://your_ip/302/123而且POST一个参数 test=1

Nginx设置装备摆设欠妥能够致使的安全问题

致使了CSRF注入破绽

0x04 子块掩盖父块HTTP头

在nginx设置装备摆设文件中子块是可以或许继续父块的设置装备摆设的。然则当我们在父块中设置了add_header头,然后再在子块中设置另一个add_header头时,子块会掩盖掉父块中的add_header头的设置。
若是设置装备摆设文件是这么设置的

server {
    ...
    add_header X-Frame-Options DENY;
    add_header Content-Security-Policy "default-src 'self'";

    location = /safe {
        return /xss.html;
    }

    location = /dangerous {
        add_header X-Content-Type-Options nosniff;
        return /xss.html;
    }
}

个中X-Frame-Options DENYContent-Security-Policy "default-src 'self'"是用来抵抗一样平常的XSS进击的。
当我们接见http://your_ip/safe时,因为我们设置了这两个文件头,以是并不会触发xss。

Nginx设置装备摆设欠妥能够致使的安全问题

Nginx设置装备摆设欠妥能够致使的安全问题

然则当我们接见http://your_ip/dangerous时,因为我们在子模块增加了add_header X-Content-Type-Options nosniff,父级的模块add_header的被子级的掩盖了,致使对xss的防备不再见效,胜利触发xss。

Nginx设置装备摆设欠妥能够致使的安全问题

Nginx设置装备摆设欠妥能够致使的安全问题

我是怎样取得数千家Shopify市肆的收入状况和流量数据?

简介 大约一年前的时候,我测试过Shopify,从那个时候起,我就写了个脚本监控他家的资产,主要是跟踪新的api以及url。几个月之后我收到一个新的通知: > /shops/REDACTED/traffic_data.json
> /shops/REDACTED/revenue_data.json 老实说


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明Nginx设置装备摆设欠妥能够致使的安全问题
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址