文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.3 用户 ID 篡改测试
5.3.1 测试原理和方法
从开发的角度,用户登录后查看个人信息时,需要通过 sessionid 判定用户身份,然后
显示相应用户的个人信息。但有时我们发现在 GET 或 POST 请求中有 userid 这类参数传输,
并且后台通过此参数显示对应用户隐私信息,这就导致了攻击者可以通过篡改用户 ID 越
权访问其他用户隐私信息。黑色产业链中的攻击者也喜欢利用此类漏洞非法收集个人信
息。
5.3.2 测试过程
攻击者注册一个普通账户,然后遍历用户 ID,获得其他用户信息,如图 5-12 所示。
图 5-12 用户 ID 篡改测试流程图
某商城“修改收货人信息”处存在平行权限绕过业务漏洞。
步骤一:登录商城,找到收货地址单击“修改”按钮并抓包,发现 deliverId 参数,如图
5-13 所示。
图 5-13 修改收货地址
步骤二:将 deliverId 参数值“327343”修改为“327344”,如图 5-14 所示。
图 5-14 修改收货人 ID
步骤三:提交后返回非本账户的联系人相关信息,返回了 deliverId=327344 的收货人
信息,如图 5-15 所示。
图 5-15 泄露其他收货人信息
5.3.3 修复建议
后台功能请求要通过 Session 机制判断用户身份,不要相信客户端传来的用户 ID。如
果确实需要客户端传输 userid,则服务端需要校验 userid 是否和登录者的 Session 身份一致,
如发现不一致则拒绝请求,防止被攻击者篡改,未授权访问他人账号内容。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论