天道酬勤

【Vulhub】——Apache多后缀解析漏洞

造成原因

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。

如果Apache配置文件(Apache\conf\httpd.conf)中存在以下代码:

AddHandler application/x-httpd-php .php

那么,当文件的后缀中存在 .php时该文件就会被解析为php文件。例如,photo.php.jpg就会被解析为php文件。

从而,我们可以利用apache的此特性绕过白名单检测机制,从而getshell。

环境搭建

环境我们通过vulhub直接搭建就OK了。

这里要求我们上传一个文件

我选择上传一个phpinfo文件,利用burp抓包分析

上传不成功,提示原因为不支持此后缀文件的上传。

现在我们将此文件的后缀进行修改,改为 .php.jpg,再次上传

发现上传成功。

那我们为什么要这样上传呢?这里就牵扯到了另外一个知识点,apache的解析顺序

Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断。 

所以刚才上传的文件,apache从右开始解析,第一个解析的是jpg,这正是服务器允许上传的文件类型,所以就成功上传。

接下来,我们去访问这个phpinfo.php.jpg

发现成功解析,证实了Apache的多后缀解析漏洞。

那我们该怎么杜绝这种漏洞呢?

1、上传后的文件要重新命名。

2、禁止apache配置文件中出现错误的配置。另外添加以下代码:

<FilesMatch “.(php.|php3.|php4.|php5.)”>

Order Deny,Allow

Deny from all

</FilesMatch>

禁止*.php.*文件的访问权限。

赞(0) 打赏
未经允许不得转载:HackerGu‘s Blog » 【Vulhub】——Apache多后缀解析漏洞
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注黑客技术的研究

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏