nginx 配置错误目录遍历漏洞

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 etreepocs = ['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].textif 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].textif code2 == 200 and cmp_str2 == title2[0].text and res_1 is not res_2:print "True"return Trueexcept Exception,e:print 'error:', epassreturn Falseexcept Exception,e:print ereturn Falsenginx_test("IP", "PORT")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/121284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言基础:L1-059 敲笨钟

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰&…

禁止chrome浏览器更新方式

1、禁用更新服务 WinR调出运行,输入services.msc,进入服务。 在服务中有两个带有Google Update字样,双击打开后禁用,并把恢复选项设置为无操作。 2、删除计划任务 运行taskschd.msc,打开计划任务程序库,在…

SDRAM学习笔记(MT48LC16M16A2,w9812g6kh)

一、基本知识 SDRAM : 即同步动态随机存储器(Synchronous Dynamic Random Access Memory), 同步是指其时钟频率与对应控制器(CPU/FPGA)的系统时钟频率相同,并且内部命令 的发送与数据传输都是以该时钟为基准&#xff…

【C#】LIMS实验室信息管理系统源码

一、系统概述 LIMS(Laboratory Information Management System)即实验室信息管理系统,是通过对样品检验流程、分析数据及报告、实验室资源和客户信息等要素的综合管理,按照标准化实验室管理规范,建立符合实验室业务流程的质量体系,实现实验室信息化管理。是实验室提高分析水平…

CSS 滚动驱动动画与 @keyframes 新语法

CSS 滚动驱动动画与 keyframes 在 CSS 滚动驱动动画相关的属性出来之后, keyframes 也迎来变化. 以前, keyframes 的值可以是 from, to, 或者百分数. 现在它多了一种属性的值 <timeline-range-name> <percentage> 建议先了解 animation-range 不然你会对 timeli…

[RISC-V]verilog

小明教IC-1天学会verilog(7)_哔哩哔哩_bilibili task不可综合&#xff0c;function可以综合

4+非肿瘤纯生信。氧化应激+WGCNA+药物预测筛序关键基因

今天给同学们分享一篇非肿瘤氧化应激WGCNA的生信文章“Identification of oxidative stress-related biomarkers associated with the development of acute-on-chronic liver failure using bioinformatics”&#xff0c;这篇文章于2023年10月10日发表在Scientific Reports期刊…

数据库数据恢复—Oracle数据库报错ORA-01110错误的数据恢复案例

Oracle数据库故障&#xff1a; 北京某公司一台运行oracle数据库的服务器&#xff0c;机房意外断电导致该服务器重启&#xff0c;重启后发现oracle数据库报错。该Oracle数据库没有备份。 Oracle数据库数据恢复过程&#xff1a; 1、北亚企安数据恢复工程师检查该oracle数据库的数…

input改造文件上传,el-table的改造,点击上传,拖拽上传,多选上传

第一个input标签效果 第二个input标签的效果 el-table的改造效果 <template><div class"outerBox"><div class"analyze" v-if"status"><div class"unFile"><div class"mainBox"><img clas…

【Python】【Flask】flask_login的初始化

【背景】 想要更高效地用现有的Flask_login包来实现用户管理方面的常用功能会话管理等。不想再手搓了。 【要点】 首先引入flask_login from flask_login import LoginManager, login_user, login_required, logout_user,current_user然后进行app级别的设置和初始化 login…

黔院长 | 黄帝内经:人有四经十二从!

"人有四经十二从"这句话出自《黄帝内经素问》&#xff0c;“四经”指的是与四时相应的正常脉象&#xff0c;也是指四个主要经络&#xff1a;太阳经、少阳经、太阴经和少阴经。在中医理论当中这些经络被认为是人体气血运行的通道。 而“十二从”则表示人体的十二个经脉…

计算机毕设 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍 一个深度学习项目 基于CNN实现谣言检测 1.1 背景 社交媒体的发展在加速信息传播的…

ChatGLM3 本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Java 将list集合的字符串格式转为Map

Java 将list集合的字符串格式转为Map List<Object> list new ArrayList<>(); Map<String,String> map1 new HashMap<>(); map1.put("fileName","测试1"); map1.put("level","1"); list.add(map1);Map<S…

[Java]前中后序遍历二叉树/递归与非递归

一、递归方法 首先&#xff0c;树形结构都是由递归方式定义的。那么递归是怎么用的&#xff1f; 1、终止条件&#xff1b;2、调用自身 分析 1、什么时候停止&#xff1f; 当结点值为空的时候&#xff0c;返回null&#xff1b; 2、如何调用自身&#xff1f; 以前序遍历为例&…

php之 角色的权限管理(RBAC)详解

RBAC&#xff08;Role-based access control&#xff09;是一种常见的权限管理模型&#xff0c;通过将用户分配至特定的角色&#xff0c;以及为角色分配访问权限&#xff0c;实现了权限管理的目的。以下是关于RBAC的详细解释&#xff1a; 角色&#xff1a;RBAC模型的核心是角色…

Ubuntu编译 PCL 1.13.1 详细流程

Ubuntu编译 PCL 1.13. 详细流程 一、编译环境二、虚拟机准备1. 虚拟机扩容2. 配置交换分区 三、Cmake - gui 生成 MakeFile1. 解决 flann 依赖问题2. 配置 Cmake 四、编译安装1.编译&#xff1a;2. 安装 一、编译环境 Ubuntu&#xff1a;Ubuntu 20.04 VMware&#xff1a;VMwar…

如何学好C++?学习C和C++的技巧是什么?

如何学好C?学习C和C的技巧是什么&#xff1f; 你这三个问题&#xff0c;前两个都是意思是差不多的&#xff0c;那么怎么怎么学习C/C我来问答一下&#xff1a;最近很多小伙伴找我&#xff0c;说想要一些C资料&#xff0c;然后我根据自己从业十年经验&#xff0c;熬夜搞了几个通…

vue中父组件给子组件传递了参数后,什么时候确保子组件中收到的参数更新了

有这样的一个场景&#xff0c;在父组件中给子组件通过props进行了传值如students&#xff0c;然后想在父组件中调用子组件中的方法&#xff0c;这个方法中用到了父组件传递的参数&#xff0c;如何保证在父组件中调用子组件方法时这个值是最新的&#xff1f; 将父组件调用子组件…

技术的新浪潮:从SOCKS5代理到跨界电商的未来

在当今这个日新月异的技术时代&#xff0c;各种创新技术如雨后春笋般涌现。从SOCKS5代理到跨界电商&#xff0c;再到爬虫技术、出海战略和游戏产业的飞速发展&#xff0c;我们正处于一个技术变革的黄金时代。 SOCKS5代理&#xff1a;安全的网络通道 SOCKS5代理是一种网络协议…