# 【juice-shop】★★★ Upload Size：上传超大文件绕过限制


# 【juice-shop】★★★ Upload Size：上传超大文件绕过限制

## 0x01 任务简报

<blockquote style="border-left: 5px solid #6f42c1; background-color: #f5f3ff; padding: 20px; margin: 1.5rem 0; color: #5521b5; line-height: 1.8; border-radius: 0 5px 5px 0;">
<div style="font-weight: bold; font-size: 1.1rem; margin-bottom: 10px; display: flex; align-items: center;">
<span style="margin-right: 8px;">💡</span> 提示 (Hints)
</div>
1. 在"投诉"表单中附加一个小文件，调查此上传实际上是如何工作的。<br>
2. 首先，尝试理解文件上传在客户端和服务器端是如何实际处理的。<br>
3. 基于这种理解，在正确的位置找到一个"薄弱点"，并精心设计一个漏洞利用方案。
</blockquote>

---

## 0x02 实战：复现漏洞

### 🔍 第一步：登录并进入投诉表单

先登录，找到投诉界面，抓包，正常上传一次文件，捕获请求包，发送到重放器

### 📤 第二步：正常上传文件并抓包

选择一个小文件（如 SVG 图片）进行上传，使用 Burp Suite 拦截请求。

![投诉表单](../../../../../../public/p/juice-shop-upload-size上传超大文件绕过限制/assets/Pastedimage20260410120033.png)

将请求发送到 **Repeater** 进行后续修改。

### 📝 第三步：查看文件内容

随便查看被上传文件的原始内容，例如一个 SVG 文件：

```bash
❯ cat 2.svg
```

![文件内容](../../../../../../public/p/juice-shop-upload-size上传超大文件绕过限制/assets/Pastedimage20260410132101.png)

### 💉 第四步：绕过大小限制

在 Repeater 中，找到请求体中的文件内容部分，将其内容**重复复制多次**（如复制 30-50 遍），使总文件大小超过 100 kB。

![重复文件内容](../../../../../../public/p/juice-shop-upload-size上传超大文件绕过限制/assets/Pastedimage20260410131959.png)

### ✅ 第五步：完成挑战

发送修改后的请求，成功上传超过 100 kB 的文件，挑战完成。

## 总结

典型的前端进行了验证，但是后端没有做第二次验证，前端传的所有数据都是不可信的……
