👤 修改他人资料

Profile IDOR Vulnerability

👤 当前用户

未登录

📋 所有用户资料

加载中...

🧪 IDOR 攻击演示

💡 攻击方式:

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
})