文件上传漏洞--Upload-labs--Pass02--Content-Type绕过

一、什么是 Content-Type

我们在上传文件时利用 Burpsuite 进行抓包,如下图所示:

上传文件后台的源代码可能会对 Content-Type 进行规定,设置白名单 或 黑名单,这时就要利用Content-Type绕过上传含有恶意代码的 php文件。


二、代码审计

分析源代码,代码中设置了 Content-Type 白名单,只有符合代码规定的三种 Content-Type 的文件才可以上传。

现在逐字逐句分析这行 白名单 代码:

['upload_file']:代表上传文件的字段名。

['type'] :代表获取上传文件的类型(MIME类型)。常见的上传文件的类型如:jpeg/png/gif。  

Content和Type两者用 / 来分隔。 

   

三、通关思路

1、通过源代码已知题目对 Content-Type 设置了白名单,那我们通过抓包修改文件的 Content-Type即可。首先上传php文件,对其进行抓包。

2、修改 Content-Type,将其修改为 image/jpeg 或其他符合白名单的类型。

 

3、发包,成功上传文件。

 

4、在新标签页中打开图片,执行php代码。

---通关。 

 

 

 

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

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

相关文章

大白话说说Docker容器默认网络模型工作原理

Docker的默认网络模型 —— 桥接模式(Bridge) 当你不做任何特殊设置时,Docker会使用一种叫做“桥接模式”的网络设置。这就像是给你的容器小房子安装了一个虚拟的桥接网络。这座桥连接着容器和你的电脑(宿主机)&#…

Spring Boot项目中TaskDecorator的应用实践

一、前言 TaskDecorator是一个执行回调方法的装饰器,主要应用于传递上下文,或者提供任务的监控/统计信息,可以用于处理子线程与主线程间数据传递的问题。 二、开发示例 1.自定义TaskDecorator import org.springframework.core.task.Task…

摄像设备+nginx+rtmp服务器

前言 由于html中的video现在不支持rtmp协议(需要重写播放器框架,flash被一刀切,360浏览器还在支持flash),遂用rtmp作为桥梁,实际是hls协议在html中起作用. 在此推荐一款前端播放器,.ckplayer 简直了,写点页面,一直循环,洗脑神曲 dream it po…

【rust】7、命令行程序实战:std::env、clap 库命令行解析、anyhow 错误库、indicatif 进度条库

文章目录 一、解析命令行参数1.1 简单参数1.2 数据类型解析-手动解析1.3 用 clap 库解析1.4 收尾 二、实现 grep 命令行2.1 读取文件,过滤关键字2.2 错误处理2.2.1 Result 类型2.2.2 UNwraping2.2.3 不需要 panic2.2.4 ? 问号符号2.2.5 提供错误上下文-自定义 Cust…

山海鲸可视化软件:多场景下的数据呈现利器

在当今数据驱动的时代,数据可视化成为了企业和个人不可或缺的工具。作为一个老数据人,本文想借用自己常用山海鲸可视化软件,带大家了解在不同使用场景下数据可视化的应用。山海鲸可视化是一款可以免费编辑、本地化部署的产品,对数…

小程序域名可以使用免费的SSL证书吗?

对于小程序域名而言,选择何种类型的SSL证书主要取决于小程序域名的具体情况。如果小程序域名是单独的域名,那么可以选择最为常见的免费单域名证书;如果小程序是公司主域名的子域名,则可以选择免费的通配符证书,一张证书…

facebook群控如何做?静态住宅ip代理在多账号运营重的作用

在进行Facebook群控时,ip地址的管理是非常重要的,因为Facebook通常会检测ip地址的使用情况,如果发现有异常的使用行为,比如从同一个ip地址频繁进行登录、发布内容或者在短时间内进行大量的活动等等,就会视为垃圾邮件或…

【架构】GPU虚拟化

GPU虚拟化方法 远程调用API 半虚拟化和全虚拟化 硬件划分 局限:授权付费 Hardware Partition:Ampere 架构的 A100 GPU 所支持的 MIG,即是一种 Hardware Partition。它的问题是不灵活: 只有高端 GPU 支持;只支持 CUDA 计算&#x…

基于springboot校园志愿者管理系统源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,校园志愿者管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,…

电脑恢复删除数据的原理和方法

在恢复数据的时候,很多人都会问,为什么删除的数据还能恢复?本篇和大家一起了解下硬盘上数据的存储方式,文件被删除的时候具体发生了什么,帮助大家理解数据恢复的基本原理。最后还会分享一个好用的数据恢复工具并附上图…

垂起固定翼无人机基础知识,垂起固定翼无人机应用前景,垂起固定翼无人机优缺点分析

无人机定义与类型 无人机,也称为无人驾驶飞行器,是一种无需人工直接操作的航空器。根据其用途、设计及技术特点,可以分为多种类型。垂起固定翼无人机是其中的一种,它具有垂直起降的能力并采用固定翼设计以提高飞行效率和稳定性。…

Excel SUMPRODUCT函数用法(成绩求和,分组排序)

SUMPRODUCT函数是Excel中功能比较强大的一个函数,可以实现sum,count等函数的功能,也可以实现一些基础函数无法直接实现的功能,常用来进行分类汇总,分组排序等 SUMPRODUCT 函数基础 SUMPRODUCT函数先计算多个数组的元素之间的乘积…

解决flask结合layui前端框架模板(laytpl 语法)与gin语法出现冲突的问题。

在模板中加了laytpl的写法 例如: gin框架渲染数据的语法也是{{ }} 例如: 如何两者都出现在html模板页,运行gin框架会识别为框架定义的变量,运行之后发现报如上错误,出现了错误是因为刚好gin的写法也是"{{ 变量 }…

【JavaEE】_CSS选择器

目录 1. 基本语法格式 2. 引入方式 2.1 内部样式 2.2 内联样式 2.3 外部样式 3. 基础选择器 3.1 标签选择器 3.2 类选择器 3.3 ID选择器 4. 复合选择器 4.1 后代选择器 4.2 子选择器 4.3 并集选择器 4.4 伪类选择器 1. 基本语法格式 选择器若干属性声明 2. 引入…

Leetcode日记 290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配

Leetcode日记 290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配 解题思路制作不易,感谢三连,谢谢啦 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。…

WEB基础及http协议(Apache)

一、httpd安装组成 http服务基于C/S结构 1、常见http服务器程序 httpd apache,存在C10K(10K connections)问题nginx 解决C10K问题lighttpdIIS .asp 应用程序服务器tomcat .jsp 应用程序服务器jetty 开源的servlet容器,基于Java…

【Java代码审计】本地命令执行函数

1.本地命令执行函数 在服务器中时常会调用命令执行的代码,以完善或加强系统的功能需求,一旦这些调用命令执行的接口被攻击者恶意利用,就会导致服务器沦陷。 在Java中可用于执行系统命令的方式有API有:java.lang.Runtime、java.la…

基于微信小程序的比赛赛程管理系统设计与实现

在全面健身的倡导下通过各级赛事的举办完成体育人才的选拔,当由于缺乏信息化的管理手段而只能通过人工完成比赛报名、赛程制定及成绩记录等流程的管理,因此常常因意外而导致比赛赛程管理不善、成绩不理想等问题出现。为了帮助比赛组织者优化赛程管理流程…

微服务建构思想

微服务架构思想 微服务架构优点 1、易于开发和维护:一个微服务只会关注一个特定的业务功能。所以它业务清晰。代码量较少。开发和维护 单个微服务相对简单。而整个应用是由若干个微服务构建而成的。 2、单个微服务启动较快:单个微服务代码量较少,所以启动比较快。 …

CSS position属性sticky

在开发时,经常会碰到需要这样一种情况 —— 网站滚动到一定高度的时候,让一部分内容作为navbar,也就是置顶显示,我们一般会使用js监听scroll事件来实现,但是新增的css3属性position:sticky可以简单实现,省去…