【SRC实战】|文件上传:这3个场景,比getshell更常见

admin 2026-05-08 05:46:33 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章通过三个SRC实战案例揭示文件上传漏洞不仅限于getshell,更常见风险包括云服务凭证泄露、回收站文件可解析、文件ID复用导致任意删除。核心结论是文件上传风险关键在于后续处理流程中的权限控制、访问隔离和归属校验。建议测试时关注返回信息、文件访问方式及业务绑定关系。 综合评分: 88 文章分类: 渗透测试,WEB安全,漏洞分析,SRC活动,实战经验


cover_image

【SRC实战】|文件上传:这3个场景,比getshell更常见

原创

隐雾安全 隐雾安全

隐雾安全

2026年5月7日 09:02 日本

在小说阅读器读本章

去阅读

📝 编者语

在实际挖洞过程中,文件上传几乎是每个系统都会存在的功能。

很多人对它的理解是:

  • 能不能上传 webshell
  • 能不能直接执行代码

但在真实场景里,文件上传带来的问题,远不止这些。

有时候它体现为:

  • 云服务密钥泄露
  • 文件访问控制问题
  • 甚至影响到其他用户的数据

这篇文章,我们不只讲“文件上传能不能getshell”,而是通过几个真实案例,带你看看:

文件上传功能,在不同场景下,是如何演变成漏洞的。

1

文件上传到底在测什么?

文件上传,本质上不是“传文件”,而是:

用户输入数据 → 服务器处理 → 存储 → 再被访问

这个过程会涉及哪些风险?

可以拆成四个阶段:

| | | | — | — | | 阶段 | 可能问题 | | 上传前 | 文件类型校验 | | 上传中 | 参数可控 | | 存储时 | 路径 / 权限 | | 访问时 | 是否解析 / 是否隔离 |

文件上传不只是“RCE”

在实际挖洞中,更常见的是:

  • 权限绕过
  • 文件访问控制问题
  • 业务逻辑漏洞
  • 敏感信息泄露

总结:

文件上传,是一个“入口”,不只是一个点。

2

测文件上传,一般要看什么?

这部分是我测试过程中总结出来的几个固定动作:

1️⃣ 抓包,看接口

重点看:

  • 是否有单独的上传接口
  • 是否有“获取上传凭证”的接口

2️⃣ 看返回内容

很多人只看“上传成不成功”,但更重要的是:

返回了什么信息

3️⃣ 看文件访问方式

上传成功之后:

  • 文件在哪
  • 是下载还是解析
  • 是否有权限控制

4️⃣ 看是否和业务绑定

比如:

  • 图片是否属于某个用户
  • 文件是否可以被替换
  • 是否可以复用 ID

3

实战案例

案例一:从文件上传,拿到 AK/SK(1000)

这个案例其实不是传统意义上的“上传漏洞”,但很典型。

1️⃣ 起点:一个普通的上传功能

在后台上传文件时,我习惯性抓了一下包。

2️⃣ 发现一个接口

请求里有一个比较关键的接口:

POST /api/xxx/getSTS

3️⃣ 返回内容有点不太对劲

接口返回了一些看起来像“凭证”的信息。

进一步分析后发现:

👉 包含 AK / SK

4️⃣ 这个问题的本质

这是典型的:

👉 云存储临时凭证泄露

也就是说:

前端可以直接拿到上传权限

5️⃣ 这个点的关键在于

不是“文件上传本身”,而是:

👉 上传流程中暴露了敏感信息

案例二:文件上传 + 回收站 = 可解析文件(500)

这个案例更偏“文件访问问题”。

1️⃣ 正常上传流程

进入素材管理,上传文件。

2️⃣ 尝试上传一些“特殊文件”

我这里测试了一些:

  • html
  • pdf

并加入了一些简单的脚本内容。

3️⃣ 上传成功

文件可以正常上传,并进入素材库。

4️⃣ 删除 → 回收站

删除文件之后,进入回收站。

5️⃣ 关键点:访问回收站文件

当我直接访问文件地址时:

👉 文件被正常解析

6️⃣ 这个问题的本质

👉 文件虽然被“删除”,但仍然可以访问

而且: 是解析执行的

7️⃣ 核心问题总结

  • 文件未真正删除
  • 权限控制缺失
  • 文件访问未隔离

案例三:文件上传 + ID 复用 → 任意文件删除(1000)

这个案例是我觉得比较有意思的一个。

1️⃣ 起点:查看他人帖子

我先随便点开一个有图片的帖子。

此作者目前有图片:

2️⃣ 抓包发现一个字段

返回数据中有一个参数:

👉 fileAccessId

3️⃣ 这个参数让我有点在意

因为:

👉 文件是通过这个 ID 关联的

4️⃣ 自己发帖测试

我发一个帖子,并上传图片。

5️⃣ 修改关键参数

在发布时拦截请求,把:

👉 自己的 fileAccessId 👉 改成别人的 fileAccessId

6️⃣ 发布成功

帖子成功发布,并且:

👉 成功偷窃他人照片作品

7️⃣ 再回去看原作者

原作者的图片:

👉 被删除了

8️⃣ 这个问题的本质

👉 文件 ID 没有做归属校验并且:

👉 一个文件 ID 只能被一个用户使用

9️⃣ 导致的结果

  • 可以“占用”他人文件
  • 可以删除他人资源

4

规律总结

如果把这三个案例放在一起看,会发现一个规律:

它们都不是“传统上传漏洞”

没有:

  • webshell
  • 代码执行

但都来自“文件上传流程”

问题分别出在:

  • 凭证获取
  • 文件访问
  • 文件归属

核心总结一句话

文件上传的风险,不在“上传”,而在“后面怎么用”。

一个小建议

如果你现在在练文件上传,可以尝试换一个思路:

不要只盯着:

能不能执行

可以多看看:

  • 返回了什么
  • 文件怎么访问
  • 文件归谁
  • 文件能不能被复用

🎁文末福利

联系客服获取《文件上传漏洞挖掘思路整理》

!

微信号丨Hiddenfog001


免责声明:

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

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

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

本文转载自:隐雾安全 隐雾安全 隐雾安全《【SRC实战】|文件上传:这3个场景,比getshell更常见》

评论:0   参与:  0