垂直越权的问题现在版本还有没有?

Blade 未结 2 408
263562784
263562784 2023-05-23 11:56

一、该问题的重现步骤是什么?

1. 

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  263562784
    263562784 (楼主)
    2023-05-23 14:04

    垂直越权啊。A登录后,退出,保持不动。B登录后,是否会操作A用户的数据。


    同帖子:https://sns.bladex.cn/q-7418.html

    作者追问:2023-05-23 14:04

    有数据权限和菜单权限,如果接口只能A访问,那么B调用就会提示未授权。这些要用户自行定义配置

    回答: 2023-05-23 14:04

    你没懂我的意思。两个人都有A调用权限。就是B拿着自己Token删除A用户数据,懂我意思嘛?

    回答: 2023-05-23 14:04

    可能我一开始表诉错误了,应该叫“水平越权”



    是比如某个场地活动功能,A和B都能创建活动。A创建了一条,B也能创建一条。但是B拿着自己Token删除A的数据

    作者追问:2023-05-23 14:04

    不是说你有两个用户的账号,登录一个打开tab再登录一个,去操作就叫水平越权的。

    水平越权是有A、B两个同级用户,用A登录后,替换接口参数,能访问或者操作B的数据,前提是只有一个账号登录的前提下去做渗透攻击。

    而框架的设计,在几年前就已经支持了自定义授权接口,用@PreAuth注解标注接口,让访问权限的token只能操作createUer为自己的数据就行了。

    这样一来,不管你用A进行攻击,还是登录A,再打开B,去操作A的数据,后台接口通过@PreAuth判断createUser不是A,那自然就未授权了。

    作者追问:2023-05-23 14:04

    像系统里的一些重要API,都是设置成必须admin角色的权限才能访问,你再怎么水平垂直越权都是无济于事的。

    后续的你们自己开发的业务系统,可以通过数据权限、接口权限随意定制。

    image.png

提交回复