【juice-shop】★★★ Admin Registration:注册管理员权限账户
0x01 任务简报
💡 提示 (Hints)1. 必须得到一个无法通过正常途径分配的权限。
2. 注册为普通用户,了解此用例涉及哪些 API 接口。
3. 设想区分普通用户与管理员的最简单实现方式。
0x02 实战:复现漏洞
🔍 第一步:注册普通用户并抓包
提示其实无所谓,在实际操作的时候我大概只与第三点有关……
在这个挑战开始前,如果完成过Login Admin更好,没有完成过也没事(
首先,打开burp,使用内置浏览器注册一个普通用户

🔎 第二步:分析返回的 JSON
观察注册成功后服务器返回的 JSON 数据,发现其中包含一个 role 字段:
|
|
这很可能就是区分普通用户与管理员的关键字段。

🔑 第三步:确认管理员的 role 值
我们把这个包发送到重放器,重新注册一个账号,把这个字段添加进去,如果没有完成过Login Admin,可以猜一下这里有哪些role,不过我不喜欢猜,使用 SQL 注入登录管理员账户,访问管理后台:

|
|

在 Burp 中找到对应请求,从响应中确认管理员的 role 值:
|
|

💉 第四步:篡改请求注册管理员账户
将注册请求发送到 Repeater,修改请求体,在 JSON 中添加 role 字段:
|
|
发送请求,注册一个新的管理员权限账户。

✅ 第五步:完成挑战
成功注册拥有管理员权限的用户,挑战完成。