文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
11.5 资料查看与修改
用户的资料操作涉及权限问题,其实这里主要介绍的是越权漏洞的利用场景,为了保护用户的隐私,大多数网站提供了用户权限控制的功能,用户可以自己设置个人资料是否允许别人查看,在权限控制方面,主要有以下几种利用场景:
未验证用户权限
这里说的未验证用户权限是指直接修改当前资源 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论