Apache httpd 后缀解析


所有文章,仅供安全研究与学习之用,后果自负!

Apache httpd 后缀解析

0x01 漏洞描述

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。 那么,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

0x02 影响范围

该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞

由于管理员的错误配置, AddHandler application/x-httpd-php .php,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

0x03 漏洞复现

(1)打开靶场
发现是一处文件上传
在这里插入图片描述
(2) 看是黑名单还是白名单验证
上传.php后缀
在这里插入图片描述
上传test.1也 返回不支持
上传test.jpg 成功 返回路径 名字未变
在这里插入图片描述
应该是白名单验证机制
通过抓包获取到的信息有
Server: Apache/2.4.48 (Debian)
X-Powered-By: PHP/8.0.10

由apache 和php搭建 可能存在多后缀解析漏洞

在这里插入图片描述
尝试 apache httpd 多后缀解析
只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀
在这里插入图片描述
上传成功
蚁剑连接

在这里插入图片描述
在这里插入图片描述

成功

0x04 漏洞修复

1、使用SetHandler,写好正则

<FileMatch “.+.php$”>

SetHandler application/x-httpd-php

2、禁止.php这样的文件执行

<FileMatch “.+.ph(p[3457]?|t|tml).”>

Require all denied

Guess you like

Origin blog.csdn.net/YouthBelief/article/details/121157353