目录遍历漏洞-CVE-2021-41773

目录

简介

原理

例子

Apache路径穿越漏洞

环境搭建

漏洞原理

漏洞利用


简介

目录遍历漏洞(也称为路径遍历漏洞)是一种由于Web服务器或Web应用程序对用户输入的文件名称的安全性验证不足而导致的安全漏洞。

原理

目录遍历漏洞允许攻击者在未授权的状态下读取应用服务上的任意文件,包括应用程序代码和数据、后端系统的凭据以及敏感的操作系统文件等。在某些情况下,攻击者甚至可能能够写入服务器上的任意文件,从而修改应用程序数据或行为,并最终完全控制服务器。就比如说在web服务器上有个模块需要读取文件,读取文件时,攻击者可以输入路径../这样就去了当前所在目录的上一个路径。这样攻击者就可以访问一些危险路径。

例子

Apache路径穿越漏洞

环境搭建

在vulhub靶场中有相关环境

在GitHub中下载vulhub后,直接拉取即可

vulhub:Vulhub - Docker-Compose file for vulnerability environment

在这个文件夹下

使用docker compose up -d拉取

去服务器的8080端口,显示如下图所示证明搭建成功

漏洞原理

在 Apache HTTP Server 2.4.49 版本中,在对用户发送的请求中的路径参数进行规范化时,其使用的 ap_normalize_path() 函数会对路径参数先进行 url 解码,然后判断是否存在 ../ 路径穿越符。

当检测到路径中存在 % 字符时,若其紧跟的两个字符是十六进制字符,则程序会对其进行 url 解码,将其转换成标准字符,如 %2e 会被转换为 . 。若转换后的标准字符为 . ,此时程序会立即判断其后两字符是否为 ./ ,从而判断是否存在未经允许的 ../ 路径穿越行为。

如果路径中存在 %2e./ 形式,程序就会检测到路径穿越符。然而,当出现 .%2e/ 或 %2e%2e/ 形式,程序就不会将其检测为路径穿越符。原因是遍历到第一个 . 字符时,程序检测到其后两字符为 %2 而不是 ./ ,就不会将其判断为 ../ 。因此,攻击者可以使用 .%2e/ 或 %2e%2e/ 绕过程序对路径穿越符的检测,从而读取位于 Apache 服务器 web 目录以外的其他文件,或者读取 web 目录中的脚本文件源码,或者在开启了 cgi 或 cgid 的服务器上执行任意命令。

漏洞利用

使用curl发送payload

首先使用../尝试是否可以,发现不可以这就对应了上面的后端过滤

使用.%2e尝试,成功绕过

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

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

相关文章

.NET9 - 新功能体验(三)

书接上回,我们继续来聊聊.NET9和C#13带来的新变化。 01、Linq新方法 CountBy 和 AggregateBy 引入了新的方法 CountBy 和 AggregateBy后,可以在不经过GroupBy 分配中间分组的情况下快速完成复杂的聚合操作,同时方法命名也非常直观&#xff0…

Android蓝牙架构,源文件目录/编译方式学习

Android 版本 发布时间 代号(Codename) Android 1.0 2008年9月23日 无 Android 1.1 2009年2月9日 Petit Four Android 1.5 2009年4月27日 Cupcake Android 1.6 2009年9月15日 Donut Android 2.0 2009年10月26日 Eclair Android 2.1 2…

YOLO-World解读:零基础学习开放世界模型

文章目录 一、摘要二、引言相关工作方法预训练公式模型架构可重新参数化的视觉-语言路径聚合网络(RepVL-PAN) 3.4 预训练方案 实验YOLO-World: 利用多样化数据集进行开放词汇对象检测的预训练方法YOLO-World: LVIS数据集上的零样本性能评估YOLO-World: 预…

信创改造 - TongRDS 安装方式之控制台安装【Window】

安装前准备 安装 jdk1.8 即可,并配上 环境变量 安装 1)解压缩 2)启动 进入安装路径的console\bin目录,在cmd命令行窗口运行console.bat 输入序号 1 如果想查看运行状态,可以重新执行 console.bat,然后输…

志愿者小程序源码社区网格志愿者服务小程序php

志愿者服务小程序源码开发方案:开发语言后端php,tp框架,前端是uniapp。 一 志愿者端-小程序: 申请成为志愿者,志愿者组织端进行审核。成为志愿者后,可以报名参加志愿者活动。 志愿者地图:可以…

Node.js的下载与安装(支持各种新旧版本)

目录 1、node官网 2、node软件下载 3、软件安装(完整版) 1、node官网 Node.js — Download Node.jshttps://nodejs.org/en/download/package-manager 2、node软件下载 按照下图进行选择node版本(真心推荐16/18,而是尽量是LTS…

对于相对速度的重新理解 - 2

回到先前说的,先令真空光速为标准光速, 光子的绝对速度 范围, 物质粒子的 范围, 这样的话,我们就可以根据 和 ,把速度分成3个段, 这样就可以出现速度和它的负值,也就是速度的矢量具…

大模型系列11-ray

大模型系列11-ray PlasmaPlasmaStore启动监听处理请求 ProcessMessagePlasmaCreateRequest请求PlasmaCreateRetryRequest请求PlasmaGetRequest请求PlasmaReleaseRequestPlasmaDeleteRequestPlasmaSealRequest ObjectLifecycleManagerGetObjectSealObject ObjectStoreRunnerPlas…

Java---反射机制

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象, 都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 在编译后产生…

Java 线程状态详解

1 引言 在 Java 多线程编程中,线程的状态是一个非常重要的概念。了解线程的状态及其转换过程,有助于我们更好地理解和控制线程的行为。本文将详细介绍 Java 线程的 6 种状态,并通过示例代码和图解来帮助读者更好地理解这些状态及其转换过程。…

AirScreen 安卓平板作为MacOS副屏

前言: 对笔记本续航有刚需,不得不选MacBook。 手机用的是mate40Pro,平板用的是matepad pro 12.6 干货: 参考网友的分享: https://www.bilibili.com/video/BV12A4y1d7zX/?spm_id_from333.337.search-card.all.click 【…

深度强化学习(RL)介绍

深度强化学习(RL)介绍 写到了一半,图待后补 一、强化学习概述 (一)与监督学习对比及定义 强化学习不同于监督学习,在一些任务中数据标注困难,但机器可通过环境反馈知道结果好坏。强化学习是机…

使用 Elasticsearch 构建食谱搜索(二)

这篇文章是之前的文章 “使用 Elasticsearch 构建食谱搜索(一)” 的续篇。在这篇文章中,我将详述如何使用本地 Elasticsearch 部署来完成对示例代码的运行。该项目演示了如何使用 Elastic 的 ELSER 实现语义搜索并将其结果与传统的词汇搜索进…

数据结构 【带环单链表】

在单链表中可能会存在一种情况,某一结点在经过几次转移之后回到了自己本身,这种情况就称之为带环链表。对于带环链表,我们不能轻易对其进行遍历,遍历可能会导致产生死循环。 带环链表的逻辑图如下所示:(这…

Vue 项目中如何使用FullCalendar 时间段选择插件(类似会议室预定、课程表)

本文中是基于VUEelementui项目中实现的前后端分离的前端功能部分: 插件的官方文档:FullCalendar 1.安装对应依赖(统一安装版本为6.15) npm install --save fullcalendar/core6.15 npm install --save fullcalendar/daygrid6.…

学习路之压力测试--jmeter安装教程

Jmeter安装 0、先安装jdk:这里是安装jdk-8u211-windows-x64 1、百度网盘上下载 jdk和jmeter 链接: https://pan.baidu.com/s/1qqqaQdNj1ABT1PnH4hfeCw?pwdkwrr 提取码: kwrr 复制这段内容后打开百度网盘手机App,操作更方便哦 官网:Apache JMeter - D…

SQL99版全外连接和交叉连接和总结

全外连接MySQL不支持 elect 查询列表 from 表名1 表别名1 cross join 表名2 表别名2 on 连接条件 ...... ; 交叉连接 就两个记录做笛卡尔积!没什么好说的,基本也没用过! 总结

Python爬虫:深入探索1688关键词接口获取之道

在数字化经济的浪潮中,数据的价值愈发凸显,尤其是在电商领域。对于电商平台而言,关键词不仅是搜索流量的入口,也是洞察市场趋势、优化营销策略的重要工具。1688作为中国领先的B2B电商平台,其关键词接口的获取对于商家来…

ffmpeg本地编译不容易发现的问题 — Error:xxxxx not found!

这里区分电脑CPU架构 本次编译是在Mac笔记本,M1芯片上进行! 前面大致流程:分为两种(1.仅适用,直接下载编译好的本地安装即可;2.使用并查看源码,自己修改编译运行)。这里介绍的是第…