• 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

  • 相关阅读:
    23种设计模式中的模板模式
    23种设计模式中的外观模式
    div,li,span自适应宽度换行问题
    监听自定义ItemRender的事件
    flex acionscript png图片去除多余空白,生成合适大小图片
    项目中用到RouteTable,发布到IIS7中无法访问
    记录Castle ActiveRecord访问Sqlite的配置
    如何卸载软件
    linux 下route命令
    linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别
  • 原文地址:https://www.cnblogs.com/yuzly/p/11212078.html
Copyright © 2020-2023  润新知