简介

MIME(Multipurpose Internet Mail Extensions)多用途网络邮件扩展类型,可被称为Media type或Content type,

它设定某种类型的文件当被浏览器打开的时候需要用什么样的应用程序,多用于HTTP通信和设定文档类型例如HTML。

之所以叫多用途网络邮件扩展类型,因为它最早被用于电子邮件系统,后用于浏览器

常见类型

文件后缀 Mime类型 说明
.flv flv/flv-flash  在线播放
.html或.htm  text/html  超文本标记语言文本
.rtf  application/rtf RTF文本
.gif  image/gif GIF图形
.jpeg或.jpg  image/jpeg JPEG图形
.au audio/basic  au声音文件
.mid或.midi audio/midi或audio/x-midi MIDI音乐文件
.ra或.ram或.rm  audio/x-pn-realaudio RealAudio音乐文件
.mpg或.mpeg或.mp3  video/mpeg MPEG文件
.avi  video/x-msvideo AVI文件
.gz application/x-gzip GZIP文件
.tar application/x-tar  TAR文件
.exe  application/octet-stream 下载文件类型
.rmvb  video/vnd.rn-realvideo  在线播放
.txt  text/plain 普通文本
.mrp  application/octet-stream  MRP文件(国内普遍的手机)
.ipa application/iphone-package-archive IPA文件(IPHONE)
.deb  application/x-debian-package-archive DED文件(IPHONE)
.apk application/vnd.android.package-archive  APK文件(安卓系统)
.cab application/vnd.cab-com-archive  CAB文件(Windows Mobile)
.xap application/x-silverlight-app  XAP文件(Windows Phone 7)
.sis application/vnd.symbian.install-archive SIS文件(symbian平台)
.jar  application/java-archive JAR文件(JAVA平台手机通用格式)
.jad text/vnd.sun.j2me.app-descriptor JAD文件(JAVA平台手机通用格式)
.sisx  application/vnd.symbian.epoc/x-sisx-app  SISX文件(symbian平台)

安全隐患

我这里主要是说文件上传场景

这里的content-Type指定的就是上传的这个文件的MIME类型,若后台根据这个来判断文件类型,那就存在上传绕过的漏洞了

文件上传 MIME类型检测的更多相关文章

  1. PHP文件上传错误类型及说明

    从 PHP 4.2.0 开始,PHP 将随文件信息数组一起返回一个对应的错误代码.该代码可以在文件上传时生成的文件数组中的 error 字段中被找到,也就是 $_FILES['userfile'][' ...

  2. Java使用comms-net jar包完成ftp文件上传进度的检测功能

    本文章只讲述大致的思路与本次功能对应的一些开发环境,具体实现请结合自己的开发情况,仅供参考,如果有不对的地方,欢迎大家指出! 准备环境:JDK1.7 OR 1.8.eclipse.ftp服务器(可自行 ...

  3. JavaScript检测文件上传的类型与大小

    $(function(){ $("#files").change(function(){ // 添加允许上传的文件类型 var exts = new Array(); exts[0 ...

  4. ctfhub技能树—文件上传—MIME绕过

    什么是MIME MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访 ...

  5. php文件上传判断类型

    上传文件对象在$_FILES['Filedata']对象中,临时路径是tmp_name,判断是上传文件是否为真实图片方法很多,我用的是这个: if( !@getimagesize( $_FILES[' ...

  6. element-ui文件上传 做类型大小的限制

    上代码: <div class="filebox"> <el-upload class="upload-demo" :action=" ...

  7. CTF 文件上传

    目录 一.客户端校验 1.禁用JS 2.抓包改包 二.服务端校验 1.MIME类型检测 2.后缀名黑名单校验 3.后缀名白名单校验 4.内容头校验 5.竞争上传 6.过滤<?或php 两种校验方 ...

  8. php实现文件上传与下载(中)

    出现不想让用户看见的信息,可以使用错误抑制符号@:当然能echo的东西都是可以赋值给一个变量的: 定义用户上传文件类型,将其放在数组变量allowExt中,用if(!in_array(第一个参数为获取 ...

  9. PHP 多个文件上传

    关键函数: is_uploaded_file():用于判断指定的文件是否是通过 HTTP POST 上传的,如果是则返回 TRUE.用于防止潜在的攻击者对原本不能通过脚本交互的文件进行非法管理,这可以 ...

随机推荐

  1. kolla-ansible-----cinder存储配置

    对接lvm后端存储 1.创建vg 可以使用裸盘或者可以采用Das.iscsi-san.fc-san等方式经存储映射到宿主机本地,然后在进行如下操作 (a)创建LVM 物理卷 /dev/sdb pvcr ...

  2. Leetcode: 二分搜索法

    package com.LeetCode; /** * 算法:二分搜索法查找一个值,并返回索引值 * https://leetcode.com/problems/search-insert-posit ...

  3. leetcode23 合并k个排序链表

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  4. Emacs Python 自动补全之 jedi

    jedi jedi 的安装配置并不是很友好.github 上也没有明确说明.查了很多资料, 最后才配置成功.可是效果却不是很理想.在补全的时候有明显的卡顿现象. 不知道网上这么多人对其推崇备至是因为什 ...

  5. os, sys, stat 模块使用

    1.设置文件权限: 注意:设置权限之前要导入下面三个模块,否则报错, import os, sys, stat os.chmod("/home/a.txt", stat.S_IXG ...

  6. MariaDB select

    1.环境部署: syntax语法错误 查询基本使用(条件,排序,聚合函数,分组,分页) --创建学生表 create table students ( id int unsigned not null ...

  7. C++ 简介 基本语法 注释

    一.第一个 C++ 程序 #include <iostream> using namespace std; int main() { cout << "Hello, ...

  8. unity快捷放置物体操作

    https://connect.unity.com/p/zui-jia-shi-jian-dui-xiang-fang-zhi-he-wu-li-xiao-guo 最佳实践系列文章将探讨我们在与客户合 ...

  9. 爬虫七之分析Ajax请求并爬取今日头条

    爬取今日头条图片 这里只讨论出现的一些问题,代码在最下面github链接里. 首先,今日头条取消了"图集"这一选项,因此对于爬虫来说效率降低了很多: 在所有代码都完成后,也许是爬取 ...

  10. c++嵌入linux指令以查找文件夹

    char buf[256]={0}; char cmd[64] ={0}; FILE *fp=NULL; snprintf(cmd,sizeof(cmd),"ls %s",&quo ...