【juice-shop】★ Repetitive Registration:多余的重复密码

用 Burp 重放器删掉"重复密码"字段,直接绕过前端校验完成注册。

【juice-shop】★ Repetitive Registration:多余的重复密码

0x01 任务简报

💡 核心线索 (Hints)
  1. 可以通过巧妙操作 UI,或者完全绕过 UI 来解决。
  2. 注册表单里最明显的重复项,就是“重复密码"字段
  3. 试试在"重复密码"字段里填入空值或不同的值提交注册。
🎓 实战动作 (Action)
目标:绕过"重复密码"校验,完成注册。
工具:Burp Suite(代理拦截 + Repeater 重放器)。
思路:校验逻辑只在前端,后端根本不在乎这个字段存不存在。

0x02 实战:复现漏洞

1. 抓包

开启 Burp 监听,用 Burp 内置浏览器打开注册页面,填写信息后提交,抓到注册请求:

注册界面及 Burp 抓到的请求

2. 发送到 Repeater,删掉 passwordRepeat 字段

将请求发送到 Repeater,在请求体中找到 passwordRepeat 这一行,直接删掉,然后发送:

Repeater 中删除 passwordRepeat 字段

3. 注册成功

服务器返回 201 Created,注册成功——后端对这个字段的存在与否毫不在意:

服务器返回 201,注册成功

结论:“重复密码"的一致性校验完全由前端 JavaScript 完成,后端 API 从未验证两次密码是否匹配,甚至不要求该字段存在。这个字段对服务器来说是透明的——留着它,纯粹是做个样子。


0x03 参考资料

使用 Hugo 构建
主题 StackJimmy 设计