文件上传——Upload-Labs第2关通关:Content-Type绕过

admin 2026-02-17 19:52:55 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文讲解Upload-Labs第2关利用Content-Type绕过文件上传验证的实战过程。核心在于服务器端仅信任客户端声明的Content-Type字段而未校验文件实质内容,攻击者可通过抓包工具将其篡改为合法图片类型从而上传木马。文章强调了服务端必须自行检测文件类型,不可依赖客户端数据,并给出了具体的攻击复现步骤与防御思路。 综合评分: 89 文章分类: WEB安全,渗透测试,漏洞分析,漏洞POC,实战经验


cover_image

文件上传——Upload-Labs 第2关通关:Content-Type绕过

原创

武文学网安 武文学网安

武文学网安

2026年2月14日 04:06 四川

这一篇。

难度开始升级。

服务器:

开始检查 Content-Type。


一、什么是 Content-Type?

当我们上传文件时。

浏览器会发送 HTTP POST 请求。

其中包含:

Content-Type

例如:

Content-Type: image/jpeg

它的作用

告诉服务器:

上传文件的类型。

很多开发者:

会直接相信这个值。

例如:

如果不是 image/jpeg 就拒绝

二、为什么这不安全?

因为:

👉 Content-Type 是客户端提交的。

攻击者:

可以随意修改。

服务器如果直接信任:

就会产生漏洞。


三、上传测试

准备同样的一句话木马:


test.php


提示:文件类型不正确,请重新上传!

直接上传,失败。


抓包查看。

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

武文学网安已关注

分享视频

,时长00:23

0/0

00:00/00:23

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:23

00:23

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

文件上传——Upload-Labs 第2关通关:Content-Type绕过

观看更多

转载

,

文件上传——Upload-Labs 第2关通关:Content-Type绕过

武文学网安已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

会看到:

POST 请求中包含:

Content-Type:application/octet-stream

服务器检测:

发现不是图片。

拒绝上传。

我们查看一下上传正常图片的Content-Type类型。

可以发现,上传正常的文件Content-Type为image/png


四、绕过方式

使用 BurpSuite 修改请求。

将:


Content-Type: application/octet-stream


改为:


Content-Type: image/png



然后放行。

上传成功。


五、为什么绕过成功?

因为:

服务器只检查:Content-Type。

没有检查:

  • 文件后缀
  • 文件内容

六、验证执行

访问:http://localhost:32768/upload/test.php

然后使用蚁剑连接。

成功控制。


七、本关核心理解


1️⃣ Content-Type 本质只是“声明”

不是文件真实类型。


2️⃣ 服务器必须自己检测文件

不能相信客户端。


3️⃣ 上传漏洞真正来源

不是上传功能。

而是:

👉 错误的验证方式。


结语

Upload-Labs 前两关。

其实是在建立一个核心认知:

攻击者不会按规则上传文件。

服务器必须假设:

所有请求都可能被伪造。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:武文学网安 武文学网安 武文学网安《文件上传——Upload-Labs 第2关通关:Content-Type绕过》

评论:0   参与:  0