【juice-shop】★★ Deprecated Interface:利用废弃 B2B 接口
0x01 任务简报
💡 核心线索 (Hints)1. 禁用接口的开发者认为闭眼就看不到。
2. 旧版 B2B 界面已被更新换代,升级为更现代的版本。
3. 弃用旧接口时,并非所有组件都从代码库中彻底移除。
4. 仅需使用已弃用的接口即可解决,无需任何攻击或漏洞利用手段。
0x02 实战:复现漏洞
🔑 前置条件:登录账户
需要登录才能进行挑战。
🔍 第一步:API 收集与探测
既然是接口,那我们进行一下api收集
这里借助了FindSomething 这个firefox插件,虽然没有派上用 (╯°□°)╯︵ ┻━┻

这一步可能没有直接收获,但有助于理解应用的接口结构。
📝 第二步:发现投诉功能的文件上传接口
登录后,进入投诉(Complaint)功能,发现其中包含文件上传功能。

📋 第三步:测试前端白名单限制
创建测试文件:
|
|
UI 提示仅支持 PDF 和 ZIP 格式,尝试上传这两种格式的文件,系统提示 客户支持人员将很快与您联系!。(并不会,这是本地环境

尝试上传这两个后缀之外的文件,最好也是空文件,本地环境无所谓,选择了note.txt笔记文件,它甚至不给提交!

🔎 第四步:分析前端代码
在 main.js 代码中搜索与文件上传相关的白名单配置,发现以下可疑代码:
|
|

关键发现:虽然 UI 提示仅支持 PDF 和 ZIP,但前端白名单实际上包含了 XML 和 YAML 等被隐藏的文件类型——这正是已废弃但未删除的 B2B 接口所支持的格式。
💉 第五步:利用隐藏的文件类型
使用touch 创建一个空xml
|
|
✅ 第六步:完成挑战

点击提交后完成!