返回介绍

11.5 资料查看与修改

发布于 2024-10-11 22:07:48 字数 727 浏览 0 评论 0 收藏 0

用户的资料操作涉及权限问题,其实这里主要介绍的是越权漏洞的利用场景,为了保护用户的隐私,大多数网站提供了用户权限控制的功能,用户可以自己设置个人资料是否允许别人查看,在权限控制方面,主要有以下几种利用场景:

未验证用户权限

这里说的未验证用户权限是指直接修改当前资源 ID 即可浏览该资源,没有验证当前这个资源是否属于当前用户,比如用户 A 的订单 ID 是 111,用户 B 的订单 ID 为 222,用户 A 登录后查看自己订单详情的时候,将 URL 中的订单 ID 参数改为 222 即可看到用户 B 的订单,2014 年的时候阿里巴巴国际贸易站因为这个漏洞被炒作受了很大的舆论影响。

未验证当前登录用户

上一种情况是没有验证当前这个资源是否属于当前用户,而这种情况是虽然程序绑定了用户 ID 和资源 ID,但是这个用户 ID 是在访问资源时直接从 cookie 或者 post、get 参数里面获取的,所以我们只要在 cookie 里面把用户 ID 修改成另外一个用户的 ID,就可以利用他的权限操作他的东西,这是目前见得比较多的一种情况。

上面介绍的两种情况,虽然只是列举用户资料查看,但是更多的出现是在用户资料修改,比如个人资料、订单、密码,等等。

对于用户注册功能我们需要用到的防御思路有:

  • 用户资源 ID(订单 ID、地址 ID 类似,等等)绑定到用户,只允许有权限的用户查看。
  • 当前用户信息存储到 session,不放到 request 中,避免攻击者修改当前用户 ID。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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