写修改信息的接口没做权限校验,用户改个ID就能把别人的账号密码改了

5年前 (2021-07-14)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

之前做用户中心的修改资料功能,我直接在接口里拿用户传的ID,就去改对应ID的用户数据,根本没校验这个ID是不是当前登录用户的,结果测试的时候发现,用户把请求里的ID改成1,直接就能改管理员的账号密码,整个系统的权限完全是裸奔的。我当时吓出一身冷汗,要是上线了,任何人都能改别人账号,用户数据全泄露了。 后来我立刻把权限校验加上,不管用户传什么ID,只认当前登录session里的用户ID,根本不让用户传ID来指定改谁的数据,改完测试,再怎么改请求参数,也只能改自己的信息,权限才安全。很多新手写接口,只做前端的权限限制,后端根本不校验,觉得前端藏了按钮用户就改不了,其实用户直接改请求参数,后端不校验,就等于大门敞开,谁都能改别人的数据。 真的,写任何涉及用户数据的接口,后端必须做权限校验,别信前端的限制,后端不校验,用户直接改请求就能乱改别人数据,太危险了。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/2105.html

0
回帖

写修改信息的接口没做权限校验,用户改个ID就能把别人的账号密码改了 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息