当前位置: 首页 > news >正文

Apache Httpd 多后缀解析

目录

1.原因

2.环境

3.复现

4.防御


1.Apache Httpd 多后缀解析原因

Apache HTTP Server 在处理文件请求时,通常会根据文件的后缀来确定如何处理该文件。例如,.php文件会被交给 PHP 解释器处理,而.html文件则直接作为静态文件返回。

然而,在某些配置下,如果文件名包含多个后缀(例如 file.php.jpg),Apache 可能会错误地将其解析为 PHP 文件并执行其中的代码,即使文件的后缀是 .jpg。这种行为可能会导致攻击者上传恶意文件并执行任意代码。

如果运维人员给.php后缀增加了处理器:

AddHandler application/x-httpd-php .php

 那么,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。

该漏洞的根本原因在于 Apache 的 mod_mime 模块在处理多后缀文件名时的行为。默认情况下,Apache 会从右到左解析文件名的后缀。例如,对于 file.php.jpg,Apache 会首先识别 .jpg,然后识别 .php。如果配置不当,Apache 可能会将文件视为 PHP 文件并执行其中的代码。

2.环境搭建

https://github.com/vulhub/vulhub下载压缩包ubuntu下解压安装容器:docker docker-compose漏洞目录:~/vulhub-master/httpd/apache_parsing_vulnerabilitydocker-compose up -d 拉取漏洞环境,自动部署docker ps -a 查看docker状态

然后直接在物理机访问虚拟机的ip

3.Apache Httpd 多后缀解析复现

先上传一个web.php.jpg文件,写入<?php pnpinfo()?>

然后burpsuit抓包,发送

 然后访问

http://虚拟机ip/uploadfiles/web.php.jpg

发现成功解析 

4.Apache Httpd 多后缀解析防御

#限制 PHP 文件的解析
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

# 禁止多后缀文件的解析
<FilesMatch \.(php\.|php[0-9]?\.|phtml\.|phps\.|php\d\.).+$>
    Order Allow,Deny
    Deny from all
</FilesMatch>

http://www.lryc.cn/news/548044.html

相关文章:

  • 备赛蓝桥杯之第十五届职业院校组省赛第五题:悠然画境
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_modules
  • css错峰布局/瀑布流样式(类似于快手样式)
  • 【并发编程】聊聊定时任务ScheduledThreadPool的实现原理和源码解析
  • 【虚拟化】Docker Desktop 架构简介
  • DeepSeek 医疗大模型微调实战讨论版(第一部分)
  • c++实现最大公因数和最小公倍数
  • 知识库Dify和cherry无法解析影印pdf word解决方案
  • 【记录一下学习】Embedding 与向量数据库
  • 【第21节】C++设计模式(行为模式)-Chain of Responsibility(责任链)模式
  • createrepo centos通过nginx搭建本地源
  • 在 Docker 中搭建GBase 8s主备集群环境
  • 【MySQL-数据类型】数据类型分类+数值类型+文本、二进制类型+String类型
  • 小谈java内存马
  • 简单的二元语言模型bigram实现
  • 【清华大学】实用DeepSeek赋能家庭教育 56页PDF文档完整版
  • 黑洞如何阻止光子逃逸
  • 1.4 单元测试与热部署
  • window系统中的start命令详解
  • AI编程工具节选
  • 正则表达式,idea,插件anyrule
  • 原生iOS集成react-native (react-native 0.65+)
  • java错题总结
  • 【商城实战(10)】解锁商品信息录入与展示的技术密码
  • 2025年主流原型工具测评:墨刀、Axure、Figma、Sketch
  • MDM 如何彻底改变医疗设备的远程管理
  • OpenCV计算摄影学(18)平滑图像中的纹理区域同时保留边缘信息函数textureFlattening()
  • 用DeepSeek学Android开发:Android初学者遇到的常见问题有哪些?如何解决?
  • springboot 集成 MongoDB 基础篇
  • 大白话html语义化标签优势与应用场景