越权漏洞
由于没有对用户权限进行严格的判断,导致低权限的用户去完成高权限的用户范围内的操作
水平越权 :A用户和B用户属于同一级别用户,但各自不能操作对方个人信息,
但是A用户越权操作了B用户的个人信息的情况
垂直越权 :A用户权限高于B用户,但是B用户越权操作了A用户的权限
越权漏洞属于逻辑漏洞,是由于权限校验的逻辑不够严谨导致的,很难通过扫描工具发现出来,往往需要通过手动进行测试
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,
当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,
从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权
2.使用合理(严格)的权限校验规则
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件
回到pikachu
水平越权 (lucy/123456,lili/123456,kobe/123456)
登录lucy 点击查看个人信息
这里可以直接修改username=kobe 就可以查阅到其他用户的个人信息
查看源码
用户信息跟当前登录态的用户信息进行对比,如果不一致应该把这个请求拒绝掉,这里没有对用户登录进行判断导致越权漏洞
垂直越权
这里有两个用户admin/123456,pikachu/000000,admin是超级boss
先使用超级用户登录 添加用户 抓包
退出登录 使用普通用户登录(普通用户只有查看权限)
抓包 将这个普通用户登录的cookie值记下来
Cookie: PHPSESSID=ijm7gs4p0sal6hiiljk55d0k41
将之前的超级用户的post请求 发送到repeater 将超级用户的cookie修改成普通用户的cookie值
点击go 之后点击follow redirection(跟踪) 回到pikachu就会多出来一个我们刚才添加好的用户
这样使得普通用户使用了超级用户的权限