apache能够解析的后缀php5,apache httpd解析漏洞复现

在Windows 10环境下,通过PHPStudy演示了Apache解析漏洞的复现过程,包括配置不当导致的源码泄露问题。修复措施是在httpd.conf中添加Order Deny, Allow Deny from all,并举例说明了其他可能的不安全配置,如AddType和AddHandler的不当使用,这些可能导致PHP文件被错误解析。防范此类漏洞的关键在于正确配置Apache服务器。

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

实验环境:win10下运行phpstudy

漏洞描述:

(1)apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后往前解析,直到遇到认识的扩展名为止

(2)如果都不认识将会暴露源码。

在apache配置不当的时候就会造成apache解析漏洞。

复现过程:

1、在httpd.conf里加入一句AddHandler application/x-httpd-php .php

20200502224930450580.png

20200502224930653692.png

2、在WWW目录下创建一个不能解析的后缀的文件

20200502224930748413.png

为了简便,文件里放一个<?php phpinfo();?>就行

3、访问该网站

20200502224930807979.png

漏洞防御:

在httpd.conf里加上

Order Deny,Allow

Deny from all

然后重启apache

20200502224930930042.png

20200502224930994491.png

可以看到,没办法解析改文件了

其它配置的漏洞:

1、AddType application/x-httpd-php .jpg会把jpg后缀的文件解析为php

20200502224931052104.png

如果不加此句,能够正常解析为图片,显示为

20200502224931124365.png

2、AddHandler php5-script .php会把所有文件名里包含.php的文件解析为php

20200502224931183932.png

此时前两个配置没开,按理说jpg会被正常解析为上图的黑底白框,添加最后一条后

20200502224931236663.png

萌新...望大佬勿喷

<think>好的,我现在需要处理用户关于Apache中间件漏洞的查询。用户希望了解常见的漏洞列表和相关安全问题。首先,我需要整理已有的引用内容,确保信息准确。 根据提供的引用,有几个关键漏洞需要涵盖:换行解析漏洞(CVE-2017-15715)、多后缀解析漏洞、SSI远程命令执行漏洞,以及配置不当导致的解析问题。需要逐一解释每个漏洞的原理和影响。 接下来,要注意引用对应的来源,比如引用1到4分别提到了不同的漏洞。在组织信息时,需要将每个漏洞与正确的引用关联起来,确保用户能够追溯到原始资料。 另外,用户可能对漏洞复现和修复措施感兴趣,所以每个漏洞需要包括复现方法和修复建议。例如,换行解析漏洞涉及上传文件名中的换行符,而修复方法涉及修改配置文件。 还需要检查是否有遗漏的常见Apache漏洞,比如目录遍历或模块漏洞,但根据现有引用,主要应集中在解析漏洞和配置错误上。确保回答结构清晰,分点列出,便于用户理解。 最后,生成相关问题时要围绕用户可能进一步提问的方向,比如漏洞原理、修复方法、实际案例等,帮助他们深入探讨。同时,保持回答的中文和格式正确,特别是数学公式和代码块的处理,但当前问题不涉及这些,所以主要关注文本结构。</think>### Apache中间件常见漏洞及安全问题解析 #### 一、Apache解析漏洞核心原理 1. **多后缀解析漏洞** Apache默认支持多后缀文件解析,当遇到无法识别的扩展名时,会从右向左依次检测后缀合法性。例如文件`test.php.xxx`,若`.xxx`未被识别,则会解析为`.php`文件执行[^3][^4]。 漏洞条件:服务器未严格限制文件后缀识别逻辑。 2. **换行解析漏洞(CVE-2017-15715)** 攻击者通过上传包含换行符`\x0A`的文件名(如`test.php\x0A.jpg`),触发Apache错误解析PHP文件。漏洞源于正则表达式`$`未严格匹配文件后缀[^2][^4]。 #### 二、典型漏洞列表 1. **多后缀解析漏洞** - **复现方法**:上传`shell.php.abc`(`.abc`未在`mime.types`中定义) - **修复措施**:修改`httpd.conf`,限制合法后缀范围[^4]。 2. **换行解析漏洞(CVE-2017-15715)** - **复现步骤**: ```http POST /upload.php HTTP/1.1 Content-Disposition: form-data; name="file"; filename="test.php\x0A.jpg" ``` - **修复方案**:更新Apache至2.4.34+,或在配置文件中使用`\\.php$`严格匹配后缀。 3. **SSI远程命令执行漏洞** 当服务器启用`mod_include`模块且允许`.shtml`文件执行时,攻击者可通过插入SSI指令(如`<!--#exec cmd="ls" -->`)执行系统命令[^1]。 4. **配置不当导致源码泄露** 若所有后缀均无法识别(如`test.unknown`),Apache默认返回文件源码而非执行,可能导致敏感信息泄露[^4]。 #### 三、其他安全风险 1. **目录遍历漏洞** 错误配置`Alias`或`ScriptAlias`可能导致未授权访问服务器目录(如`http://target/icons/../../`)。 2. **模块漏洞** 如`mod_cgi`、`mod_ssl`等模块历史漏洞(如Shellshock、CVE-2014-0224),需及时更新版本。 #### 四、防御建议 1. 禁用不必要的扩展解析(如`httpd.conf`中移除`AddHandler application/x-httpd-php .php .phtml`冗余配置) 2. 使用`FilesMatch`严格限制上传文件类型 3. 定期更新Apache版本及模块 4. 关闭`Options Indexes`防止目录遍历
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值