目录
Apache 多后缀解析漏洞简介:
apahe解析文件时候有一特性,Apache默认一个文件可以有多个以点分割的后缀,apache会从最右边开始识别其后缀名,如遇无法识别的后缀名则依次往左进行识别
该漏洞和Apache版本、PHP版本无关,属于用户配置不当造成的解析漏洞。
漏洞环境搭建:
使用ubantu进入vulhub目录,找到httpd中的apache_parsing_vulnerability,拉取镜像之后启动容器(docker-compose up -d)
漏洞复现
(1)查看靶机环境:
命令:docker ps
(2)访问靶机
(3)编写脚本文件
脚本文件名:info.php.jpeg
(4)上传文件
上传info.php.jpeg文件
(5)实验结果
文件成功上传并显示文件路径,访问文件。显示php信息,说明info.php.jpeg文件被执行,因此该系统存在后缀名解析漏洞
关闭环境
命令:docker-compose down
Apache多后缀解析漏洞防御手段
1、通过正则方式来对其进行限制;、在配置文件中添加如下内容,匹配样式为 .php. 的文件并拒绝访问(该漏洞环境配置文件位于漏洞环境目录的 conf/docker-php.conf 生产环境中按照具体情况而定)
<FilesMatch "\.php\.">
require all denied
</FilesMatch>
2、将原本的 AddHandler application/x-httpd-php .php 注释掉,然后利用正则表达式单独为.php的文件添加处理程序
<FilesMatch ".+.php$">
SetHandler application/x-httpd-php
</FilesMatch>
文章参考: