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
相关推荐
Chengbei116 小时前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
Latticy13 小时前
vulnhub系列靶机-mrRobot
web安全·网络安全·渗透测试
白猫不黑17 小时前
网络安全/信息安全专业学习路线与入行指南:从大学到岗位的完整规划
网络·学习·安全·web安全·网络安全·黑客技术
xierui12312317 小时前
AI Agent 隐私架构:本地化重点为什么是登录态与执行权限
java·人工智能·网络安全·架构
Chockmans20 小时前
春秋云境CVE-2025-49113
安全·web安全·网络安全·网络攻击模型·安全威胁分析·春秋云境·cve-2025-49113
白猫不黑20 小时前
从运维到网络安全:转行优势、路径与薪资前景全解析
运维·网络·web安全·网络安全·信息安全·渗透测试
AI备忘录21 小时前
(十一)DHCP 配置命令五厂商对照:华为 华三 锐捷 迈普 思科
服务器·网络·网络协议·网络安全·华为
0xBADCODE21 小时前
Flask SSTI读SECRET_KEY+伪造Session:税务系统渗透全流程
前端·后端·python·安全·web安全·网络安全·flask
网安蟹佬霸1 天前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源
J_bean1 天前
阐述软件开发中的安全风险与防范机制
网络安全·安全风险·安全防范机制