Web-文件上传漏洞总结

news2024/9/21 0:18:14

目录

1、常规前端绕过

2、修改文件类型

3、使用 .user.ini 或 .htaccess(可能还存在大小写绕过)

4、使用字典爆破可行后缀

5、结合文件包含漏洞使用图片马

6、条件竞争


1、常规前端绕过

如下图,在前端存在限制,只能上传图片类型的文件(非图片类型甚至无法进行抓包)

如果考察的只是一个前端绕过,比如这道题,那么这种很简单

我们只需要使用BurpSuite抓包然后改后缀即可

首先将一句话木马的.php后缀改为符合要求的后缀,比如这里的.jpg

一句话木马内容如下:

顺便说一下,一句话木马的写法有很多种,上面这个是比较简单和常见的写法

文件头的 GIF89a 可以理解为一个绕过作用,不一定需要但是加了更好,懂我意思吧

OK,我们开始传

由于是.jpg的后缀,符合前端要求,所以我们可以使用BurpSuite进行抓包,如下图:

 我们需要将后缀改回.php

 然后直接放包即可

可以看到文件上传成功,为什么图片没有正常显示出来,因为传的这个东西本质还是一句话木马,我们只是改了它的后缀,它的实质并不是图片。

复制图像链接,使用蚁剑或者菜刀进行连接

如果上传成功后并不能复制图像链接,也没有给你路径,我们也可以自己找

我们将包发到repeater

 同样修改后缀后发送,我们同样可以找到文件被传到了哪里

 下面就是使用蚁剑连接

 拿下,添加数据,进去找flag就行,一般是在根目录下面

2、修改文件类型

我们直接传.php文件,前端没有出现限制提示

 抓包后如下图:

如果我们直接放包,发现前端报错

 这里需要修改文件类型,即Content-Type

修改为image/jpeg,如下图:

放包之后我们发现上传成功

同理我们找到文件位置,直接上蚁剑即可

3、使用 .user.ini 或 .htaccess(可能还存在大小写绕过)

这两个东西都可以使我们上传的图像类文件被当作php文件解析

具体该用哪个,什么情况下用,这个是说不清楚的,我只能说这是我们做文件上传的一个绕过方向

首先尝试前面讲过的两种思路,发现直接传php的不行,传jpg抓包后修改后缀为php也不行

jpg虽然可以直接上传,但是并没有用

我们需要它被当作php文件解析,那么就需要用到前面说的两个配置文件之一

 首先来看一下这两个文件的内容(特意加了块引用,方便大家复制)

.htaccess

<FilesMatch ".jpg">
  SetHandler application/x-httpd-php
</FilesMatch>

 .user.ini

GIF89a
auto_prepend_file=6.jpg 

这里说一下,等号后面的6.jpg就是你要上传的jpg类型的一句话木马文件名 

再来说用法:

先上传一个配置文件 .user.ini 或 .htaccess 

再上传jpg后缀的一句话木马,注意:直接上传,不用改后缀

下面我以.htaccess 为例

我们依旧需要改文件类型(一般都是改为 image/jpeg)

 

接着我们上传jpg的一句话木马

这里不用改后缀也不用改类型,直接放包

后续操作大家就很熟悉了

 发现不行,这道题要用 .user.ini (注意.user.ini里的内容与上传的木马文件名一致)

当然实际情况下我们肯定不知道哪些后缀被过滤了,所以只能慢慢尝试

再来说一下大小写的绕过,虽然.htaccess被禁止了,但是我们可行修改大小写来实现绕过,比如将文件名改为.Htaccess,内容不变,大小写绕过不只是在配置文件,也可用在php后缀上

4、使用字典爆破可行后缀

这个就是在bp中使用字典去爆破能上传成功的后缀,然后再使用shell连接工具去逐个尝试连接

以buuctf中的 [ACTF2020 新生赛]Upload1 为例:

就是一个文件上传

初步尝试发现php不行,那么我们就传jpg

 抓包后发到攻击模块

 可以使用字典也可以自己添加一些常用的

 最终这道题能连接成功的是phtml

 当然其实能上传成功的有很多,有些也不能上传成功

我们要做的就是在上传成功的路径里面去尝试连接

5、结合文件包含漏洞使用图片马

实际情况并没有这种提示,我们做这类题就是不断尝试各种类型

这种类型的话我们就需要使用图片马

用copy命令来制作:copy 1.jpg/b + shell.php 2.jpg

生成的2.jpg就是一个图片马,我们直接传2.jpg即可

6、条件竞争

这个需要写脚本,大概原理就是利用服务器端处理存在的一个时间间隙来产生“碰撞”

我们不断地上传文件和不断地访问自己上传的文件,就有可能在文件进行判断删除之前,成功访问文件,并执行里面的代码。

下面是关于绕过的总结:

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

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

相关文章

springboot校园点餐小程序

校园点餐系统 springboot校园点餐系统小程序 java校园点餐小程序 技术&#xff1a; 基于springbootvue小程序校园点餐系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;…

GPT模型训练实践(2)-Transformer模型工作机制

Transformer 的结构如下&#xff0c;主要由编码器-解码器组成&#xff0c;因为其不需要大量标注数据训练和天然支持并行计算的接口&#xff0c;正在全面取代CNN和RNN&#xff1a; 扩展阅读&#xff1a;What Is a Transformer Model? ​ ​ 其中 编码器中包含自注意力层和前馈…

HCIA回顾笔记整理

OSI 7层参考模式 开放式系统互联参考模型 应用层 抽象语言--> 编码 表示层 编码-->二进制 会话层 提供应用程序地址 -- 无标准 上三层&#xff0c;应用程序加工数据的部分 下四层&#xff0c;数据流层 负责数据传输 传输层 数据分段&#xff08;…

Hive基础知识

1.Hive简介 Hive是由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能。 2.Hive本质 Hive的本质是将HQL转化成MapReduce程序。 Hive处理的数据存储在H…

Git远程操作

目录 分布式版本控制系统 远程仓库 新建远程仓库 管理仓库 issue Pull Request 克隆远程仓库到本地 向远程仓库推送 拉取远程仓库 配置git 忽略特殊文件 给命令配置别名 分布式版本控制系统 我们之前所说的所有内容&#xff0c;都是在本地&#xff0c;也就是只在你的…

Java——抽象类和接口

一、抽象类 1.1、抽象类 使用abstract关键字定义的类称为抽象类 public abstract class Employee {private String name;private int number; }在 Java中抽象类不可以实例化为对象。例如&#xff1a; 1.2、抽象方法 使用abstract关键字定义的方法称为抽象方法。抽象方法没…

IDEA自动导入包

问题 IDEA如何自动导入包 详细问题 项目开发中&#xff0c;笔者常常先将光标瞄准所需导入的类&#xff0c;后使用快捷键AltEnter进行导包操作。这种方式需要逐个处理&#xff0c;相对费事费力&#xff0c;IDEA如何自动导入所有程序所涉及的包呢 解决方案 1、左上角 F i l …

基于Elman神经网络的电力负荷预测(附源码)

一、算法原理 Elman神经网络是一种典型的动态递归神经网络&#xff0c;它是在BP网络基本结构的基础上&#xff0c;在隐含层增加一个承接层&#xff0c;作为一步延时算子&#xff0c;达到记忆的目的&#xff0c;从而使系统具有适应时变特性的能力&#xff0c;增强了网络的全局稳…

2017年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

&#x1f3e0;个人主页&#xff1a;fo安方的博客✨ &#x1f482;个人简历&#xff1a;大家好&#xff0c;我是fo安方&#xff0c;考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。&#x1f433; &#x1f495;兴趣爱好&#xff1a;b站天天刷&…

碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是…

Quiz 16_3-1: Databases | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 16_3-1: Databases单选题&#xff08;1-11&#xff09;操作题Autograder: Single Table SQL Python for Everybody 课程简介 Python for Everybody 零基础程序设计&#xff08;Python 入门&#xff09; This course aims to teach …

CS CK VT系列贴片型铝电解电容器特点

CS CK VT系列贴片型铝电解电容器就是宽温通用品&#xff0c;也就说电性和RVT贴片电解电容器和RST贴片电解电容器一样&#xff0c;105℃2000小时寿命&#xff0c;用于消费类电子。偶尔CS贴片电解电容器&#xff0c;CK贴片电解电容器和VT贴片电解电容器会有缩体产品。

菜鸡shader:L6 人物材质基础模型以及三种透明特效AC、AB和AD

文章目录 人物材质基础模型unity练练看实现代码实现最后效果 透明特效AC效果展示 AB效果展示 AD效果展示 自定义混合模式效果展示 人物材质基础模型 这里是老师布置的作业&#xff0c;要求把之前学过的所有模型都组合起来&#xff0c;组成一个基本的人物材质模型。这里在上作业…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己的信息推广出去&#xff0c;最好方式就是建立自己的平台信息&#xff0c;并对其进行管理&#xff0c;随着现在智能手机的普及&#xff0c;人们对于智能手机里面的应用接的快接单平台也在不断的使用…

设计模式学习之模板方法模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式设计模式学习之抽象工厂模式设计模式学习之策略模式和简单工厂模式的对比设计模式学习之观察者模式 模板方法模式是行为型设计模式的一…

获取Alibaba Nacos控制台管理权限

人活着&#xff0c;就得随时准备经受磨难。他已经看过一些书&#xff0c;知道不论是普通人还是了不起的人&#xff0c;都要在自己的一生中经历许多磨难。 磨难使人坚强。 漏洞复现 访问漏洞url 输入默认账号密码&#xff1a;nacos/nacos 成功获取Alibaba Nacos控制台管理权…

全面揭秘!火山引擎边缘 IaaS 混合部署架构实践

2023年6月16日-17日 51CTO WOT全球技术创新大会在北京成功举办。在快速发展的数字化时代&#xff0c;云计算和边缘计算作为科技领域的两大核心驱动力&#xff0c;正引领着全球技术变革的潮流。为了探讨云时代基础设施在科技发展中的关键作用&#xff0c;推动边缘云行业的进一步…

【夏虫语冰】Office操作技巧汇总

文章目录 1、Word技巧1.1 添加题注 2、Visio技巧2.1 快捷键2.2 格式刷 结语 1、Word技巧 1.1 添加题注 在 Word 中添加、删除标题或设置其格式&#xff1a; 可以为图表、公式或其他对象添加题注。 题注是带编号的标签&#xff0c;可将其添加到图表、表格、公式或其他对象。 …

springboot+echarts +mysql制作数据可视化大屏(四图)

作者水平低&#xff0c;如有错误&#xff0c;恳请指正&#xff01;谢谢&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 项目简单&#xff0c;适合大学生参考 分类专栏还有其它的可视化博客哦&#xff01; 专栏地址&#xff1a;https://blog.csdn.net/qq_559…

C++类和对象——(对象的赋值拷贝构造函数)

目录 对象的赋值 目录 对象的赋值 1、提出问题&#xff1a; 2、解决办法&#xff1a; 拷贝构造函数 1、拷贝构造函数的原型&#xff1a; 2、调用机制&#xff1a; 3、使用例程代码 总代码工程&#xff1a; 对象的赋值 1、提出问题&#xff1a; 能否使用一个已经构造…