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

  • 相关阅读:
    JetBrains Rider 在 Mac 环境下将 cs 文件生成 exe
    Unity3d 控制物体移动、旋转、缩放
    Unity3d 脚本使用规则
    Unity3D 脚本模板修改方法
    Intelli IDEA 设置项目编码(Mac)
    搭建LayaBox的生产环境,并helloWorld
    unity Lighting
    流畅度测试
    Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
    Unity GUI(uGUI)使用心得与性能总结
  • 原文地址:https://www.cnblogs.com/yuzly/p/11212078.html
Copyright © 2011-2022 走看看