2-文件类型绕过

2-文件类型绕过

请求头的Content-Type绕过

​$_FILES​ 是 PHP 中用于接收通过 HTTP POST 方式上传的文件的超全局变量。当表单设置 enctype="multipart/form-data"​ 时,上传的文件信息会被自动填充到 $_FILES 中。

php 复制代码
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists(UPLOAD_PATH)) {
		# 通过$_FILES变量拿到 input标签名为upload_file的值,通过['type']获取文件类型 必须是jpeg或者png、gif,否则提示文件类型不正确,请重新上传.
		# 然后通过['tmp_name']获取文件名存到临时变量中,然后再$img_path 变量中整合完整的上传路径。
		# 最后一层if,是判断移动文件时 是否出现错误,比如可能权限问题导致了 移动失败,就会提示上传出错
        if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')) {
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH . '/' . $_FILES['upload_file']['name']            
            if (move_uploaded_file($temp_file, $img_path)) {
                $is_upload = true;
            } else {
                $msg = '上传出错!';
            }
        } else {
            $msg = '文件类型不正确,请重新上传!';
        }
    } else {
        $msg = UPLOAD_PATH.'文件夹不存在,请手工创建!';
    }
}

基本结构

对于单个文件字段(例如 <input type="file" name="upload_file">​),$_FILES['upload_file'] 是一个包含 5 个键的二维数组:

键名 说明 示例
​name 客户端原始文件名(可含路径,但浏览器通常只传文件名) ​"avatar.jpg"
​type 浏览器提供的 MIME 类型(​不可信,可伪造) ​"image/jpeg"
​tmp_name 服务器上存储临时文件的完整路径(通常是 /tmp/phpxxx) ​"/tmp/php6Y5e3f"
​error 上传错误码(0 表示成功) ​0
​size 文件大小(字节) ​102400
相关推荐
白帽攻防录6 小时前
SRC 挖洞:WSO2 JWT 算法混淆绕过深度复盘,CVE-2026-5430 不支持的算法怎么变成管理员
网络·算法·安全·网络安全·jwt
学逆向的9 小时前
虚拟内存与物理内存
windows·网络安全·api·win32
小小小小钰儿10 小时前
2.1-Windows本地部署大模型
人工智能·windows·计算机·网络安全·操作系统·编程
菩提小狗10 小时前
每日安全情报报告 · 2026-10-01
网络安全·漏洞·cve·安全情报·每日安全
黄金龙PLUS1 天前
5个1280比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
三8441 天前
TLS + Web API 安全 · 03 · TLS 实战:证书、漏洞与抓包中间人
网络安全·tls·中间人·ca证书
大棉花哥哥2 天前
太空安全,正式上线 —— 博客改版与双专栏发布记
安全·网络安全·卫星安全
光依旧2 天前
MCP实战手记(九):生产化MCP Server的6层安全防护
java·人工智能·spring boot·安全·网络安全·ai agent·mcp
admin and root2 天前
「AI安全篇」实战AntiDebug自动化JS逆向加解密MCP
javascript·人工智能·网络安全·自动化·漏洞挖掘·cnvd·src赏金
泛联新安2 天前
软件定义汽车时代,如何让AI研发“可信”?——泛联新安构建汽车企业级可信AI体系的落地路径
大数据·人工智能·安全·网络安全·汽车·漏洞挖掘·代码安全