1.概述

由于没有对用户权限进行严格的判断

导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超管)范围内的操作

水行越权:A用户和B用户属于同一级别用户,但各自不能操作对方个人信息。A用户如果越权操作B用户个人信息的情况称为水行越权操作。

垂直越权:A用户权限高于B用户,B用户越权操作A用户的权限的情况称为垂直越权。

越权漏洞属于逻辑漏洞,是由于权限校验的逻辑不够严谨导致的

每个应用系统其用户对应的权限是根据其业务功能划分的,而每个企业的业务又都是不一样的

因此越权漏洞很难通过扫描工具发现,往往需要通过手动进行测试

2.水平越权

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP我们先登录一下,可用账号如下:

登录之后我们点击 “点击查看个人信息” 就能查看个人信息

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP在这里实际上是通过一个 GET 请求,将要查询的用户信息传递到了后台

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP

如果将 username 的值修改为其他内容,是否可以显示其他人的信息?

我们把 lucy 修改为 lili,提交请求后我们就能查看 lili 的信息,说明是存在水平越权的漏洞

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP

3.垂直越权

我们先登录超级管理员的账号

打开 BurpSuite 抓包,然后添加一个用户

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP把这个请求发送到 Repeater 中,然后退出管理员账号,重放这个数据包,这时候用户是会添加失败的,因为没有登录状态

登录普通用户账号,取出当前账号的Cookie

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP用上图中的Cookie修改我们刚刚发送到 Repeater 中那个数据包的  Cookie,再重放这个数据包。这时候就添加了另一个用户,第一个是超级管理员添加的;另一个是普通用户重放超级管理员的数据包添加的。

Pikachu漏洞练习平台实验——越权漏洞(八)-LMLPHP

后台没有判断发送这个数据包的用户权限,而是直接执行了

05-11 22:07