Profile IDOR Vulnerability
1. 以 zhangsan (ID:1) 登录
2. 将目标用户ID改为 2 (lisi)
3. 修改 lisi 的邮箱和手机
4. 观察 lisi 的资料是否被篡改
// ❌ 有漏洞:信任客户端传来的 userId
router.put('/profile', (req, res) => {
const { userId, email, phone } = req.body
users[userId].email = email // 直接修改,不校验
})
// ✅ 安全:只能修改自己的资料
router.put('/profile', (req, res) => {
const { email, phone } = req.body
// 从 session 获取当前用户,忽略客户端传的 userId
users[currentUser.id].email = email
})