返回介绍

5.3 用户 ID 篡改测试

发布于 2024-10-11 00:03:32 字数 1363 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文