Pikachu-Over Permission模块

Posted hzk001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pikachu-Over Permission模块相关的知识,希望对你有一定的参考价值。

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

 

 

水平越权:登陆之后可以看到自己的用户信息

技术图片

 

 

url中有用户名的参数,我们可以改一下:

技术图片

 

 这样,没有经过密码验证就查看了其他平级用户的信息,这是水平越权。

 

 

 

垂直越权:

首先登录admin超级管理员用户:发现有管理用户的权限

技术图片

 

 添加一个用户

技术图片

 

 技术图片

 

 

然后抓包:这是他新建的用户的数据包,并且有登录状态的cookie

技术图片

 

 下面退出用户登录的状态,再重新发一下包,发现没有新建的用户信息,这是正常的,因为超级管理员的登录cookie以及随着退出失效

技术图片

 

 我们现在抓一下普通用户的cookie:

技术图片

 

 技术图片

 

 

然后把普通用户的登录cookie用到之前的超级管理员的包上,注意这里admin并没有登录:

技术图片

 

 然后我们发现用户界面已经完成了一个用户的创建:

技术图片

 

 这样用普通管理员去做超级管理员的操作就是垂直越权,但是比较鸡肋 因为现实很难抓到超级管理员的包。

 

以上是关于Pikachu-Over Permission模块的主要内容,如果未能解决你的问题,请参考以下文章

Pikachu-over permission(越权操作)

pikaqiu练习平台-Pikachu-Over Permission(越权漏洞)

如何在路由中使用 ngx-permission 模块将特定组件重新绑定到 angular5 中的特定用户

自定义权限模块

为啥在使用 Flutter 模块构建 iOS 原生应用时修复“Frameworks/Flutter.framework: Permission denied”?

TypeOrm 迁移 - 错误:找不到模块