Apache httpd 多后缀解析漏洞复现

本文介绍了Apache服务器因配置错误导致的解析漏洞,该漏洞允许攻击者通过上传带有.php后缀的多扩展名文件,如.php.jpg,来绕过上传白名单限制。复现过程中,展示了上传phpinfo.php.jpg文件并成功执行的过程,揭示了服务器配置不当的安全风险。

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

本文章仅供学习分享!!!

原理:

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

复现过程:

1.启动环境

2.访问漏洞环境

 3.直接上传一个php文件

 4.查看配置文件,管理员错误配置导致解析漏洞

5. 利用apache解析漏洞,上传一个phpinfo.php.jpg或者phpinfo.php.jpeg的文件,下图可以看到成功上传

 6.浏览器访问http://192.168.10/uploadfiles/phpinfo.php.jpg,发现phpinfo被执行了,该文件被解析为php脚本,复现成功。

 

### 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、付费专栏及课程。

余额充值