Apache中间件漏洞复现

Apache中间件漏洞复现

Apache 文件解析漏洞

apache简介

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

漏洞原理

​ Apache文件解析漏洞与用户的配置有密切关系,严格来说属于用户的配置问题。Apache文件解析漏洞涉及到一个解析文件的特性。Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别,则继续向左识别,发现后缀是php,交给php处理这个文件。

漏洞复现

我们首先打开phpstudy,切换apache版本为5.2.17.
Apache中间件漏洞复现_第1张图片

我们在本地网站根目录下新建文本文档写入任意字母。
Apache中间件漏洞复现_第2张图片

我们尝试修改后缀名为不存在的.456,然后在本地访问该文件

在这里插入图片描述
Apache中间件漏洞复现_第3张图片

发现仍然可以成功读取

我们继续修改后缀名
在这里插入图片描述

Apache中间件漏洞复现_第4张图片

发现服务器仍然可以解析

我们修改为.php.360尝试,依然可以成功解析。

在这里插入图片描述

Apache中间件漏洞复现_第5张图片

那么我们在文件上传时就可以利用Apache的解析特性进行绕过

漏洞修复

在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为*.php.*的访问权限:

<FilesMatch ".(php.|php3.|php4|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>

Apache 目录遍历漏洞

漏洞原理

目录遍历(路径遍历)是由于web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞。使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以是web根目录以外的文件),甚至执行系统命令。

​ 程序在实现上没有充分过滤用户输入的…/之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。

漏洞复现

我们打开phpstudy.

然后在本地网站根目录下新建多个子目录

Apache中间件漏洞复现_第6张图片

我们此时访问网站

可以看到很明显的index of标志,说明此时存在目录遍历

我们可以在谷歌中通过 intitle :index of来帮我们寻找目录遍历漏洞

漏洞防御

在httpd.conf文件中找到Options + Indexes + FollowSymLinks + ExecCGI并修改成

Options -Indexes + FollowSymLinks + ExecCGI并保存(把+修改为-)

Apache中间件漏洞复现_第7张图片

你可能感兴趣的:(Apache中间件漏洞复现)