Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复

Nginx漏洞修复之目录穿越[目录遍历]漏洞复现及修复

  • 漏洞描述
  • 漏洞复现
    • 环境搭建
    • 漏洞验证
  • 漏洞修复
  • 参考链接

漏洞描述

  • 前言

    Nginx是一个高性能的HTTP和反向代理服务器,经常被做为反向代理,动态的部分被proxy_pass传递给后端端口,而静态文件需要Nginx来处理。漏洞出现在服务器的静态文件中。如果静态文件存储在/home/目录下,而该目录在url中名字为files,那么就需要用alias设置目录的别名

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

  • 修改nginx.conf

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

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第1张图片

漏洞复现

环境搭建

  • 安装Nginx

    环境:Ubuntu 16.04 + Nginx 1.11.3

    
        # 获得root权限
        sudo -i
        
        # 安装nginx依赖库和gcc g++的依赖库
        apt-get install build-essential
        apt-get install libtool
        
        # 安装pcre依赖库
        apt-get install libpcre3 libpcre3-dev
        
        # 安装zlib依赖库
        apt-get install zlib1g-dev
        
        # 安装ssl依赖库
        apt-get install openssl
        
        # 安装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
        /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    
    
    
  • 验证搭建是否成功

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第2张图片

漏洞验证

  • 修改Nginx配置文件

    
        apt-get install vim
        vim /usr/local/nginx/conf/nginx.conf
    
    
    

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第3张图片

  • 重启Nginx

    
        cd /usr/local/nginx
        ./sbin/nginx -s reload
    
    
  • 正常访问

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第4张图片

  • 目录穿越(遍历)

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第5张图片

漏洞修复

  • 修改Nginx配置文件

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

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第6张图片

  • 重启Nginx

    
        cd /usr/local/nginx
        ./sbin/nginx -s reload
    
    
    
  • 修复验证

    Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_第7张图片

参考链接

  • Nginx 配置错误导致漏洞(目录遍历漏洞)——漏洞复现

    https://blog.csdn.net/weixin_40412037/article/details/106234134

  • [漏洞复现]——nginx目录穿越漏洞

    https://blog.csdn.net/m0_46607055/article/details/121641417

你可能感兴趣的:(Middleware,Dev,Ops,nginx,安全,https)