vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现

Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现

漏洞概述

Apache HTTP Server(简称 Apache)是开源的 Web 服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。

Apache 披露了一个在 Apache HTTP Server 2.4.49 上引入的漏洞,称为 CVE-2021-41773。同时发布了2.4.50更新,修复了这个漏洞。该漏洞允许攻击者绕过路径遍历保护,使用编码并读取网络服务器文件系统上的任意文件。运行此版本 Apache 的 Linux 和 Windows 服务器都受到影响。此漏洞是在 2.4.49 中引入的,该补丁旨在提高 URL 验证的性能。可以通过对“.”进行编码来绕过新的验证方法。如果 Apache 网络服务器配置未设置为“要求全部拒绝”,则漏洞利用相对简单。通过对这些字符进行编码并使用有效负载修改 URL,可以实现经典的路径遍历。

漏洞原理

该漏洞是由于在Apache HTTP Server 2.4.50版本中对CVE-2021-41773修复不够完善,攻击者可利用该漏洞绕过修复补丁,并利用目录穿越攻击访问服务器中一些文件,进而造成敏感信息泄露。若httpd中开启CGI功能,攻击者可以构造恶意请求,造成远程代码执行。

漏洞链接

https://vulhub.org/#/environments/httpd/CVE-2017-15715/

影响版本
Apache HTTP Server 2.4.50
Apache HTTP Server 2.4.49
1.先下载漏洞,并启动容器

sudo docker-compose up -d      启动漏洞

2.启动容器后,访问下列网址。

http://your-ip:8080

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第1张图片

3.查看容器状态

sudo docker compose ps -a // -a是在运行的容器

4.进入容器创建一个bash的交互式中端

sudo docker exec it(容器id) /bin/bash

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第2张图片

5.打开漏洞源码

vim index.php

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第3张图片

代码解析

这是一个文件上传的后端PHP代码,除了上传文件外,还要以POST请求方式传入参数name,其值作为文件上传后最后的名字,同时设置了黑名单过滤name值传递的带有黑名单信息的后缀。

上传使用一句话木马,浏览器界面出现bad file

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第4张图片

然后再使用bp进行抓包,再将抓到的改为evil.php\x0a,最后文件上传成功

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第5张图片

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第6张图片

然后放包,访问http://10.9.75.11:8080/evil.php%0A

vulhub-Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)复现_第7张图片

最后由于蚁剑一直起不来,本来还想连一下的,大家有兴趣的可以自己连连

存中…(img-cjRLYpwy-1694241716525)]

最后由于蚁剑一直起不来,本来还想连一下的,大家有兴趣的可以自己连连

http://10.9.75.11:8080/evil.php%0a 密码 sheel

你可能感兴趣的:(apache,http,网络协议)