一、该问题的重现步骤是什么?
1.
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
垂直越权啊。A登录后,退出,保持不动。B登录后,是否会操作A用户的数据。
同帖子:https://sns.bladex.cn/q-7418.html
有数据权限和菜单权限,如果接口只能A访问,那么B调用就会提示未授权。这些要用户自行定义配置
你没懂我的意思。两个人都有A调用权限。就是B拿着自己Token删除A用户数据,懂我意思嘛?
可能我一开始表诉错误了,应该叫“水平越权”
是比如某个场地活动功能,A和B都能创建活动。A创建了一条,B也能创建一条。但是B拿着自己Token删除A的数据
不是说你有两个用户的账号,登录一个打开tab再登录一个,去操作就叫水平越权的。
水平越权是有A、B两个同级用户,用A登录后,替换接口参数,能访问或者操作B的数据,前提是只有一个账号登录的前提下去做渗透攻击。
而框架的设计,在几年前就已经支持了自定义授权接口,用@PreAuth注解标注接口,让访问权限的token只能操作createUer为自己的数据就行了。
这样一来,不管你用A进行攻击,还是登录A,再打开B,去操作A的数据,后台接口通过@PreAuth判断createUser不是A,那自然就未授权了。
像系统里的一些重要API,都是设置成必须admin角色的权限才能访问,你再怎么水平垂直越权都是无济于事的。
后续的你们自己开发的业务系统,可以通过数据权限、接口权限随意定制。
扫一扫访问 Blade技术社区 移动端