Apache httpd漏洞复现

2023-11-07

未知后缀名解析漏洞

该漏洞与Apache、php版本无关,属于用户配置不当造成的解析漏洞。在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。

启动upload-labs-env-win-0.1目录下的phpstudy,打开bp自带的浏览器,访问虚拟机的本机地址127.0.0.1,来到upload-labs第七关:

在这里插入图片描述

新建一个1.php文件,写入一句话木马,加上phpinfo的执行命令:
在这里插入图片描述

上传1.php文件,提示上传失败,不允许该文件类型上传:
在这里插入图片描述

用bp抓包,发送到repeater模块,修改文件后缀名为未知后缀,点击上传,上传成功:

在这里插入图片描述

访问文件上传的网址127.0.0.1/upload,可以找到刚才上传的文件:
在这里插入图片描述

并且可以执行里面的phpinfo()命令,成功回显(未知后缀名解析时其中包含.php则会被识别成php文件):

在这里插入图片描述

多后缀名解析漏洞

启动环境

来到httpd/apache_parsing_vulnerability靶场

cd vulhub/httpd/apache_parsing_vulnerability

安装环境并启动:

sudo docker-compose up -d && sudo docker-compose up -d

安装中:

在这里插入图片描述

安装完成,启动成功:

在这里插入图片描述

在浏览器中输入10.9.75.45启动环境:

在这里插入图片描述

漏洞复现

上传一个包含一句话木马和phpinfo函数的1.php文件,提示上传失败:
在这里插入图片描述

用bp抓包,发送到repeater模块,修改content-Type为image/png,使用之前的未知后缀名的方法发现上传失败,说明此处上传文件用来白名单限定上传文件的格式,无未知后缀名解析漏洞:

在这里插入图片描述

用bp抓包,发送到repeater模块,修改content-Type为image/png,修改文件名为1.php.png,上传成功:

在这里插入图片描述

换行解析漏洞

启动环境

来到httpd/apache_parsing_vulnerability靶场

cd vulhub/httpd/apache_parsing_vulnerability

安装环境并启动:

sudo docker-compose up -d && sudo docker-compose up -d

安装环境完成,提示我们8080端口被占用,需要修改端口:

在这里插入图片描述

复制配置文件:

cp docker-compose.yml docker-compose.me.yml

打开复制的文件修改端口:

vim docker-compose.me.yml

如图:
在这里插入图片描述

以修改的配置文件打开环境:

sudo docker-compose -f docker-compose.me.yml up -d

在这里插入图片描述

在浏览器中输入10.9.75.45:8082启动环境:

在这里插入图片描述

漏洞复现

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.2.4.29版本中存在一个解析漏洞.
在解析PHP时, l.php\x0A 将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

上传一个1.php文件,显示上传失败,用bp抓包后发到repeat模块,点击hex,查看该文件的16机制编码(网络上的文件数据包都是以这样的2进制字节流传输的),将evil.php后面的数改为0a:

在这里插入图片描述

修改后上传,此时可以上传成功:
在这里插入图片描述

访问后成功回显:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache httpd漏洞复现 的相关文章

随机推荐

  • LSM树存储模型

    大规模分布式存储系统 原理解析与架构实战 读书笔记 之前研究了Bitcask存储模型 今天来看看LSM存储模型 两者虽然同属于基于键值的日志型存储模型 但是Bitcask使用哈希表建立索引 而LSM使用跳跃表建立索引 这一差别导致了两个存储
  • 基于python+opencv提取视频指定关键帧

    提取关键帧 不用遍历整个视频 第一步 打开视频文件 cap cv2 VideoCapture vedio 第二步 设置视频起始帧 cap set cv2 CAP PROP POS FRAMES keys frame keys frame为关
  • 【network】网口指示灯含义

    网卡有两个指示灯及含义 连接指示灯 绿色 连接指示灯亮就代表线路连接正常 信号指示灯 黄色 在连接指示灯亮的情况下 信号指示灯的含义如下 a 如果信号指示灯闪烁 代表信号正常 正在通信 b 如果信号指示灯灭 代表没有通信 c 如果信号指示灯
  • 大学生可以做的兼职有哪些?我收集了这份兼职指南,请查收

    大学生应该以学业为主 但是对即将踏入社会的你们 提前锻炼自身 多学习一项技能 无疑是对自己的一种 增值 其实大学生平常的业余时间都是被恋爱 游戏 影音占据了大半 有兼职想法的并不是太多 有这想法的多半是一些自立 有上进心的孩子 所以对这些大
  • snprintf函数的具体用法,解释参数,返回值,带示例

    文章目录 概述 函数签名如下 以下是一个简单的示例 总结 概述 snprintf 是一个 C 标准库函数 用于格式化字符串并将结果写入指定的字符数组中 以及控制最大写入的字符数 通过第二参数size 以防止缓冲区溢出 snprintf会自动
  • 深度学习的经典算法的论文、解读和代码实现

    文章目录 CNN网络的经典算法 LeNet 5 AlexNet VGG Inception Inception v1 GoogLeNet BN Inception ResNet R CNN R CNN Fast R CNN Faster R
  • 【转】卷积神经网络如何用在NLP上

    点击前往集智专栏阅读原文 原文 Understanding Convolutional Neural Networks for NLP 作者 Denny Britz 翻译 Kaiser 当我们听到 卷积神经网络 CNN 当然 不是特朗普说F
  • python3中无法import cv2,importError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so

    这个问题就是importError opt ros kinetic lib python2 7 dist packages cv2 so 为什么会出现这个问题 因为当初安装cv2的时候 默认弄在了Python2 所以导致这个错误的产生 解决
  • sample语言词法分析_【软件设计师】程序设计语言与语言处理程序!(第八章)...

    每天1章考点 助您自学通过软考 第8章 程序设计语言与语言处理程序基础 考点梳理 考点1 编译与解释 考法分析 1 本知识点的考查形式主要有 给出编译与解释相关的描述 判断正误 给出编译各个阶段的描述 判断正误 要点分析 1 解释程序 也称
  • webpack5 基本概念 —— 插件(plugin)

    插件 是 webpack 的 支柱 功能 Webpack 自身也是构建于在 webpack 配置中用到的 相同的插件系统 之上 插件目的在于解决 loader无法实现的其他事 如果在插件中使用了 webpack sources 的 pack
  • iphone 开启ipv6禁用ipv4_IPv6系列-初学者的10个常见困扰

    本文是 IPv6系列 文章的第二篇 常见困扰 紧接 入门指南 用于解答IPv6的10个常见困扰 小慢哥的原创文章 欢迎转载 目录 本文缘由 困扰1 IPv4和IPv6只有地址格式不同吗 困扰2 IPv4到IPv6对应用程序是透明无感知的吗
  • S​alesforce是怎么完成从0到1的?

    我之前写过无数篇Salesforce的文章 但是很多人还是想看看Salesforce如何从0到1以及从1到10的发展 所以我找来Salesforce的创始人在2009年 Salesforce成立十周年 之际亲自写的一本书 云攻略 来给大家梳
  • Git -将本地项目上传到gitee上

    1 首先你要有一个gitee账号且本地安装有git 2 找到并打开你的项目找到pom xml文件所在目录 右击空白处 点击git bash here git安装成功了一般就会有 3 初始化仓库 初始化完成后在此目录会出现 git 的文件 记
  • java运行一段时间连不上数据库_项目运行一段时候之后就会出现数据库连接被关闭的问题,...

    om jfinal plugin activerecord ActiveRecordException java sql SQLException Invalid state the Connection object is closed
  • Ubuntu小技巧16--常见命令使用方法

    Ubuntu小技巧16 常见命令使用方法 不知觉间Linux系统已用了好多年 各种命令和小工具也接触了若干个 各类笔记分布到各个系统上 可一直没来得及整理归档 最近决定开始慢慢整理linux相关的小工具和命令 把以前 现在和以后的笔记都陆续
  • 云服务器部署和维护,云服务器部署维护

    云服务器部署维护 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 服务器上云或云上迁移利用镜像导入功能 将已有的业务服务器
  • 1024程序员节的一些随笔

    转眼间又是一年程序员节 来CSDN已经三年了 之前两年的程序员节都错过 了 所以三年也没混的一个徽章 今年就不要再错过了吧 今年在CSDN是收获满满的一年 自己的文章逐渐被大家所接受 博客也慢慢变的热闹了起来 同时也在CSDN上认识了许多小
  • 排序(三)冒泡排序与快速排序(C语言实现)

    冒泡排序与快速排序都属于交换排序 其中冒泡排序也是十分的出名 实现起来也比较简便 下面一一介绍这两种排序 1 冒泡排序 冒泡排序的意思就是将最大的数沉底 或者最小的数提到最前面来 之后再抛开这个数找次大或此次小的数进行循环 这个过程比较像泡
  • 矩阵分析L2 线性映射与线性变换

    一 线性映射和线性映射 1 定义 线性映射体现在一个向量空间中满足两个合向量的映射等于两个向量映射的和 以及数乘后的映射等于映射后的数乘 线性变换是基于线性映射的一种特例 也就是在自身空间的映射 2 例子 不带乘除的变换 相似变换 微分变换
  • Apache httpd漏洞复现

    文章目录 未知后缀名解析漏洞 多后缀名解析漏洞 启动环境 漏洞复现 换行解析漏洞 启动环境 漏洞复现 未知后缀名解析漏洞 该漏洞与Apache php版本无关 属于用户配置不当造成的解析漏洞 在有多个后缀的情况下 只要一个文件含有 php后