zoukankan      html  css  js  c++  java
  • nginx目录穿越漏洞复现

    nginx目录穿越漏洞复现

    一、漏洞描述

    Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞。

    二、漏洞原理

    1、 修改nginx.conf,在如下图位置添加如下配置

    在如下配置中设置目录别名时/files配置为/home/的别名,那么当我们访问/files../时,nginx实际处理的路径时/home/../,从而实现了穿越目录。

      

    三、漏洞环境搭建和复现

    1、 在ubuntu 16.04安装nginx

    1.1安装nginx依赖库

    1.1.1安装gcc g++的依赖库

    ubuntu平台可以使用如下命令:

    apt-get install build-essential

    apt-get install libtool

    1.1.2安装pcre依赖库

    apt-get install libpcre3 libpcre3-dev

    1.1.3安装zlib依赖库

    apt-get install zlib1g-dev

    1.1.4安装ssl依赖库

    apt-get install openssl

    1.2安装nginx

    #下载最新版本:

    wget http://nginx.org/download/nginx-1.11.3.tar.gz

    #解压:

    tar -zxvf nginx-1.11.3.tar.gz

    #进入解压目录:

    cd nginx-1.11.3

    #配置:

    ./configure --prefix=/usr/local/nginx

    #编辑nginx:

    Make

    #安装nginx:

    make install

    #启动nginx:

    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    1.3浏览器访问,测试nginx是否搭建成功

       

    2、 修改/usr/local/nginx/conf/nginx.conf,在如下图位置添加如下内容:

      

    3、重启nginx服务

    ./sbin/nginx -s reload

      

    4、浏览器访问http://192.168.10.137/files/

      

    5、浏览器访问http://192.168.10.137/files../,如下图所示,说明存在目录穿越漏洞

      

    6、修改/usr/local/nginx/conf/nginx.conf,把files使用/闭合

      

    7、重启nginx服务,再次访问http://192.168.10.137/files../,提示404,说明该漏洞不存在

      

    四、漏洞防御

    1、修改/usr/local/nginx/conf/nginx.conf,使用/闭合/files,形成/files/。

    -------------------------------------------------------------------------------------------------

    参考: ubuntu 16.04安装nginx https://www.cnblogs.com/piscesLoveCc/p/5794926.html

  • 相关阅读:
    docker安装和hub
    sql获取时间、年龄
    在eclipse中配置Tomcat时,出现“Cannot create a server using the selected type”的错误。
    ajax简单做html查询删除(鲜花)
    java使用jsp建立项目+视频
    java根据数据库自动生成代码
    java连接数据库增删改查公共方法
    制作二维码java
    富文本编译器
    java字符串类型和时间类型的转换
  • 原文地址:https://www.cnblogs.com/yuzly/p/11212078.html
Copyright © 2011-2022 走看看