文档章节

nginx配置错误目录遍历漏洞

China丶小可
 China丶小可
发布于 01/14 19:59
字数 535
阅读 4
收藏 0

nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理

在nginx中开启autoindex,配置不规范而造成目录遍历漏洞

配置如下:

server { 
       listen 80; 
       server_name *.*.*.*; 
       index index.htm index.html; 
       root /home/wwwroot/www; 
       access_log off; 
       location /paper { 
               alias /home/wwwroot/paper/; 
               autoindex on; 
       } 
}

注意 这里/home/wwwroot/paper/; 有个/

当你浏览http://*.*.*.*:80/paper/,正常情况应该遍历/home/wwwroot/paper/这个目录,但是如果访问http://*.*.*.*:80/paper../, 这个的话就会遍历/home/wwwroot/这个目录了 nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理

在nginx中开启autoindex,配置不规范而造成目录遍历漏洞

配置如下:

server {
    listen    80;
    server_name *.*.*.*;
    index index.htm index.html;
    root  /home/wwwroot/www;
    access_log off;
    location /paper {
           alias /home/wwwroot/paper/;
           autoindex on;
       }
}

注意 这里/home/wwwroot/paper/; 有个/

当你浏览http://*.*.*.*:80/paper/,正常情况应该遍历/home/wwwroot/paper/这个目录,但是如果访问http://*.*.*.*:80/paper../, 这个的话就会遍历/home/wwwroot/这个目录了 nginx(Tested at 1.1.10) sebug建议:

使用如下配置:

location /paper {
        alias /home/wwwroot/paper; 
}

或:

location /paper/ {
        alias /home/wwwroot/paper/;
}

接下来介绍一个自己测试用到的检测脚本(用Python编写):

#!/usr/bin/env python
# -*- coding: utf_8 -*-
# nginx配置错误目录遍历漏洞
# Date: 2019-01-14
import sys
import urllib2
from lxml import etree


pocs = ['logs', 'test', 'paper']


def nginx_test(ip, port):
    try:
        for poc in pocs:
            try:
                res1 = urllib2.urlopen("http://" + ip + ":" + port + "/" + poc, timeout = 5)
                res_1 = res1.read()
                code1 = res1.getcode()
                server1 = res_1.getserver()
                cmp_str1 = 'Index of /' + poc + '/'
                html1 = etree.HTML(res_1)
                title1 = html1.xpath('//title')
                # print title1[0].text
                if code1 == 200 and cmp_str1 == title1[0].text:
                    res2 = urllib2.urlopen("http://" + ip + ":" + port + "/" + poc +"../", timeout = 3)
                    res_2 = res2.read()
                    code2 = res2.getcode()
                    cmp_str2 = 'Index of /' + poc + '../'
                    html2 = etree.HTML(res_2)
                    title2 = html2.xpath('//title')
                    # print title2[0].text
                    if code2 == 200 and cmp_str2 == title2[0].text and res_1 is not res_2:
                        print "True"
                        return True
            except Exception,e:
                print 'error:', e
                pass
        return False
    except Exception,e:
        print e
        return False

nginx_test("IP", "PORT")

 

© 著作权归作者所有

China丶小可
粉丝 2
博文 29
码字总数 30907
作品 0
西安
高级程序员
私信 提问
nginx配置错误而导致目录遍历漏洞

漏洞版本:nginx(Tested at 1.1.10) 漏洞描述:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗...

andy1灬
2014/08/06
0
0
web应用安全基线-nginx安全配置

Title:Linux-nginx安全配置 nginx 测试版本:nginx 1.x 0x00 Nginx简介 Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件代理服务器。其特点是占用内存少,并发能力强。 Nginx漏洞查...

cyberzhang
2016/11/22
100
0
Linux 环境边配置边学(针对家里电脑) 【四】

创建系统网站用户 建立www用户 /usr/sbin/groupadd www/usr/sbin/useradd -g www www 建立网站文件目录 mkdir -p /website/wwwchmod +w /website/www 赋予用户www网站文件目录权限 chown ww...

烦恼的大胖
2011/06/24
0
0
Nginx 安全增强版本--SEnginx

什么是SEnginx? SEnginx(Security Enhanced NGINX)是著名的 HTTP 和 反向代理 服务器nginx的一个变种版本,主要是在原版nginx的基础上增加了多种Web安全功能,并增强了应用交付等方面的原...

InfoHunter
2013/08/05
20.4K
13
常见Web源码泄露总结

https://zhuanlan.zhihu.com/p/21296806 常见Web源码泄露总结 2017 /2/7 14:21 3,631 沙发 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现。 源码泄漏分类...

xztelecomlcs
2017/08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

zookeeper和HBASE总结

zookeeper快速上手 zookeeper的基本功能和应用场景 zookeeper的整体运行机制 zookeeper的数据存储机制 数据存储形式 zookeeper中对用户的数据采用kv形式存储 只是zk有点特别: key:是以路径...

瑞查德-Jack
45分钟前
1
0
Oracle 查询时间在当天的数据

要实现这个功能需要用到trunc这个函数对时间的操作select trunc(sysdate) from dual --2014-12-27 今天的日期为2014-12-27select trunc(sysdate, 'mm') from dual --2014-12-1 ......

覃光林
47分钟前
1
0
阿里技术专家详解 Dubbo 实践,演进及未来规划

作者:曹胜利 链接:https://www.infoq.cn/article/IwZCAp3jo_H5fJFbWOZu?utm_source=tuicool&utm_medium=referral Dubbo 整体介绍 Dubbo 是一款高性能,轻量级的 Java RPC 框架。虽然它是以...

Java干货分享
50分钟前
1
0
深入解读阿里云数据库POLARDB核心功能物理复制技术

日志是数据库的重要组成部份,按顺序以增量的方式记录了数据库上所有的操作,日志模块的设计对于数据库的可靠性、稳定性和性能都非常重要。 可靠性方面,在有一个数据文件的基础全量备份后,...

阿里云官方博客
54分钟前
1
0
Python数据科学环境:Anaconda 了解一下

几乎所有的 Python 学习者都遇到过“安装”方面的问题。这些安装问题包括 Python 自身环境的安装、第三方模块的安装、不同版本的切换,以及不同平台、版本间的兼容问题等。当你因为这些问题而...

crossin
55分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部