# 【juice-shop】★★★★ Forgotten Sales Backup：通过 Null Byte 注入访问遗忘的销售备份文件


# 【juice-shop】★★★★ Forgotten Sales Backup：通过 Null Byte 注入访问遗忘的销售备份文件

## 0x01 任务简报

<blockquote style="border-left: 5px solid #ff6b6b; background-color: #ffe0e0; padding: 20px; margin: 1.5rem 0; color: #c92a2a; 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> 挑战目标
</div>
访问销售者遗忘的备份文件。
</blockquote>

<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. 该文件无法直接访问，因为安全机制阻止了对其的访问。<br>
4. 你需要欺骗安全机制，使其认为该文件具有有效的文件类型。<br>
5. 面对这个挑战，实现这个技巧只有一种方法。
</blockquote>

---

## 0x02 实战：复现漏洞

### 步骤1：访问 FTP 目录

基于之前文件访问挑战的经验，直接访问 FTP 目录：

```
http://127.0.0.1:3000/ftp/
```

在目录列表中发现遗忘的销售备份文件 `coupons_2013.md.bak`。

### 步骤2：使用 Null Byte 注入绕过访问限制

在文件名后添加 `%2500.md` 进行 Null Byte 注入：

```
http://127.0.0.1:3000/ftp/coupons_2013.md.bak%2500.md
```

**结果：** 成功下载 `coupons_2013.md.bak` 文件，挑战完成！🎉

---

## 0x03 ……

> 我感觉把 FTP 的文件全下载了能完成不少挑战（雾



