# 【juice-shop】★★★ Upload Type：绕过文件类型限制


# 【juice-shop】★★★ Upload Type：绕过文件类型限制

## 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. 在"投诉"表单中附加一个 PDF 或 ZIP 文件，调查此上传实际上是如何工作的。<br>
2. 若已解决"上传大于 100 kB 的文件"挑战，不妨尝试在此处应用相同的解决方案。
</blockquote>

---

## 0x02 实战：复现漏洞

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

登录账户，导航至投诉（Complaint）表单页面。

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

尝试上传一个 PDF 或 ZIP 文件，前端会验证文件扩展名。

![文件类型限制提示](../../../../../../public/p/juice-shop-upload-type绕过文件类型限制/assets/Pastedimage20260410133838.png)

前端仅允许上传 `.pdf` 或 `.zip` 扩展名的文件。

### 🔍 第三步：抓包并发送到 Repeater

使用 Burp Suite 拦截上传请求，将请求发送到 **Repeater**。

### 💉 第四步：删除文件扩展名

在 Repeater 中，找到请求体中的文件名字段，**删除文件扩展名**（如将 `1.zip` 改为 `1`）。

![删除扩展名](../../../../../../public/p/juice-shop-upload-type绕过文件类型限制/assets/Pastedimage20260410134610.png)

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

发送修改后的请求，成功上传不符合扩展名要求的文件，挑战完成。



