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

Apache httpd漏洞复现

文章目录

  • 未知后缀名解析漏洞
  • 多后缀名解析漏洞
    • 启动环境
    • 漏洞复现
  • 换行解析漏洞
    • 启动环境
    • 漏洞复现

未知后缀名解析漏洞

该漏洞与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:

在这里插入图片描述

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

访问后成功回显:

在这里插入图片描述

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

相关文章:

  • 【漏洞复现】时空智友企业流程化管控系统文件上传
  • elasticsearch的DSL查询文档
  • IP地址、子网掩码、网络地址、广播地址、IP网段
  • ffmpeg-android studio创建jni项目
  • 智慧公厕是将数据、技术、业务深度融合的公共厕所敏捷化“操作系统”
  • JVM中JAVA对象和数组内存布局
  • 【2023年数学建模国赛】赛题发布
  • Java HashMap源码学习
  • Gin中用于追踪用户的状态的方法?!!!
  • HTTP代理与HTTPS代理在工作流程上有哪些区别
  • Docker从认识到实践再到底层原理(二-2)|Namespace+cgroups
  • 算法的概述
  • 菜鸟教程《Python 3 教程》笔记(19):错误与异常
  • 空气净化器上亚马逊美国站需要办理什么认证?空气净化器UL867测试报告如何办理?
  • SpringBoot的测试方案
  • 华为OD机考算法题:字符串解密
  • unity 锚点设置
  • Hadoop:HDFS--分布式文件存储系统
  • 自定义封装异步任务组件,实现FutureTask功能
  • 【区块链 | IPFS】IPFS节点搭建、文件上传、节点存储空间设置、节点上传文件chunk设置
  • 【autodesk】浏览器中渲染rvt模型
  • Python超入门(1)__迅速上手操作掌握Python
  • 后端面试话术集锦第 十四 篇:go语言面试话术
  • Oralce集群管理-19C RAC 私有网络调整为BOND1
  • 洛谷 Array 数论
  • 简明SQL条件查询指南:掌握WHERE实现数据筛选
  • 通过HbaseClient来写Phoenix表实现
  • uniapp qiun charts H5使用echarts的eopts配置不生效
  • 嵌入式Linux驱动开发(LCD屏幕专题)(三)
  • MySQL视图用户管理