文件上传漏洞--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,一经查实,立即删除!

相关文章

lscpu命令详解

文章目录 前言lscpu 命令详解命令1\. 查看物理 CPU 个数2\. 查看每个物理 CPU 核数3\. 查看总线程数4\. 查看内存信息5\. 查看 linux 系统版本 前言 Linux 系统查看系统相关信息方法很多,以下详细介绍 lscpu 命令,以及其它相关命令。 lscpu 命令详解 …

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

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

Spring Boot项目中TaskDecorator的应用实践

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

js filter,every,includes 过滤数组

背景: 页面:在项目中遇到的,前端页面显示为,顶部是下拉搜索条件,下面是一个表格; 数据:接口请求一次性拿到所有:搜索条件里的下拉选项和表格中的数据; 现状:需要前端在搜…

摄像设备+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地址频繁进行登录、发布内容或者在短时间内进行大量的活动等等,就会视为垃圾邮件或…

代码随想录算法训练营Day36 | 435.无重叠区间、763.划分字母区间、56.合并区间

435.无重叠区间 这题需要判断好两个点: 1、什么时候移除元素?(如何判断重叠?)——当前区间左边界小于之前区间右边界时移除元素 2、移除哪个元素?——移除右边界更靠后的元素 整体解题框架和昨天打气球…

PHP如何实现动态代理IP

在网络爬虫、数据挖掘、网络安全等领域,动态代理IP的应用越来越广泛。动态代理IP可以帮助我们突破访问限制,保护真实IP地址,防止被封禁。 PHP是一种广泛应用于Web开发的流行服务器端脚本语言。那么,如何在PHP中实现动态代理IP呢&…

【架构】GPU虚拟化

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

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

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

ROUGE-L和SPICE

ROUGE-L ROUGE-L(Recall-Oriented Understudy for Gisting Evaluation - Longest Common Subsequence)是一种用于评估自动文本摘要或机器翻译等自然语言处理任务的评价指标。它基于最长公共子序列(LCS)来计算,主要关注…

Linux下彻底卸载MySQL数据库

一、检查服务器是否已经安装了MySQL rpm -qa|grep mysql 如下所示 mysql-community-libs-compat-8.1.0-1.el7.x86_64 mysql-community-server-8.1.0-1.el7.x86_64 mysql-community-icu-data-files-8.1.0-1.el7.x86_64 mysql-community-common-8.1.0-1.el7.x86_64 php-mysqlnd-…

YOLOv8改进PIoU损失函数:PIoU v2损失增强了专注于中等质量锚盒的能力,v1版本使用非单调聚焦机制更直接、更快的边界框回归损失

💡本篇内容:YOLOv8改进PIoU损失函数:PIoU v2损失增强了专注于中等质量锚盒的能力,v1版本使用非单调聚焦机制更直接、更快的边界框回归损失 💡附改进源代码及教程,用来改进🚀PIoU损失函数 Powerful-IoU损失函数论文地址:https://www.sciencedirect.com/science/art…

C# 中的回调函数

引言 回调函数是一种在编程中常用的概念,它在 C# 中扮演着重要的角色。本文将介绍回调函数的概念、语法和应用,并讨论如何设计优化和重用回调函数,以及它们在并发编程中的用途。 1. 回调函数的概念与作用 回调函数是指将一个函数作为参数传…

设计模式学习笔记 - 面向对象 - 2.封装、抽象、继承、多态分别用来解决哪些问题?

1.封装 封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方法(或者叫作函数)来访问内部信息或数据。 下面这段代码是一个简化版的虚拟钱包的代码实现。在金融系统中,我们会给每个用户创…

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

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

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

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