apache httpd多后缀解析漏洞复现

一、漏洞描述

Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。
该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞

二、漏洞原理

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

三、漏洞复现

​如上图所示即getshell成功!

### Apache HTTPD 换行解析漏洞详情 Apache HTTPD 的 2.4.0 至 2.4.29 版本中存在一个严重的解析漏洞,编号为 CVE-2017-15715。此漏洞允许攻击者通过特定方式利用文件名中的换行符 (\x0A),使服务器错误地处理 PHP 文件[^1]。 当请求路径包含 \x0A 字符时,Apache HTTPD 可能会将其解释为新行字符并继续执行后续部分作为有效脚本。这使得恶意用户能够绕过基于 URL 或扩展名的安全控制措施,从而可能访问受限资源或执行任意代码[^2]。 例如,在 php 解析过程中 `test.php\x0A` 将被当作正常的 PHP 后缀进行解析,进而触发该漏洞。 ### 修复方法 为了防止此类攻击的发生,官方建议升级到最新稳定版的 Apache HTTP Server (至少 2.4.30+) 来获得针对这一问题的补丁和支持改进。 如果无法立即更新,则可以考虑采取以下临时缓解措施之一: #### 修改配置文件 编辑 httpd.conf 配置文件以禁用 mod_mime_magic 模块加载: ```apache LoadModule mime_module modules/mod_mime.so # Comment out or remove the following line to disable magic MIME type detection # LoadModule mime_magic_module modules/mod_mime_magic.so ``` #### 使用 .htaccess 设置 对于那些没有权限修改全局配置的情况,可以在应用程序根目录下的 `.htaccess` 中加入如下指令来阻止含有非法字符的 URI 请求: ```apache <If "%{THE_REQUEST} =~ /[\r\n]/"> Require all denied </If> ``` 这些更改有助于减少因未修补版本而带来的风险,但仍强烈推荐尽快安装正式发布的安全更新包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值