解题过程
1. 源码审计
访问首页后查看源代码,在 <script> 标签中发现了开发者遗留的调试信息:
- 第一部分 Flag:
flag{fr0nt3nd_
- 提示:
masterKey: "U2VjcmV0S2V5XzIwMjQ=" (Base64 解码为 SecretKey_2024)
localStorage 提示: 检查ID为42的用户信息
2. IDOR (越权访问)
系统存在 IDOR 漏洞,通过直接访问后端接口 /user.php?id={id} 可以获取原始 JSON 数据。虽然前端对敏感信息进行了脱敏,但后端返回的原始 JSON 中包含了所有字段。
3. 获取剩余 Flag
直接访问 http://115.159.155.176:45914/user.php?id=42,获取到:
hidden_info: m4sk1ng_1s_
flag_part: n0t_s3cur1ty}
4. 拼接结果
将三部分拼接得到最终 Flag。
最终 Flag
flag{fr0nt3nd_m4sk1ng_1s_n0t_s3cur1ty}
知识点总结
- 前端敏感信息泄露: 调试信息未清理。
- IDOR (Insecure Direct Object Reference): 缺乏对 API 接口的权限校验。
- 不安全的脱敏机制: 脱敏逻辑在前端执行,无法阻止攻击者获取后端原始数据。