越权漏洞解析
·越权漏洞概述
·常见越权漏洞演示:平行越权
·常见越权漏洞演示:垂直越权
·越权漏洞的常见防范措施
越权漏洞的概述
由于后台没有对用户权限进行严格的判断,导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超级管理员)范围内的操作。
平行越权:A用户和B用户属于同一级别的用户,但各自不能操作对方个人信息,A用户如果越权操作B用户的个人信息的情况叫做平行越权操作。
垂直越权:A用户权限高于B用户,B用户操作A用户的权限的情况叫做垂直越权。
<越权漏洞属于逻辑漏洞,是由于权限效验的逻辑不够严谨导致。每个应用系统其用户对应的权限是根据其业务功能划分的,而每个企业的业务又都是不一样的。因此越权漏洞很难通过扫描工具发现出来,往往需要通过手动进行测试。>
pikchu平台常见越权漏洞演示:前端用户平行越权
一般的越权的漏洞都出现在有登陆的页面上。
我们先登陆个人的账户,我们要测试是否有越权的漏洞。

首先我们先看他提交的数据包
我们点击点击查看个人信息看他提交了什么内容
我们可以看见当我们点击<点击查看个人信息>时候他提交了一个GET请求

如果我们把lucy改成其他人的lili

却可以看见网站查询到了其他人的信息

这就是一个简单的平行越权漏洞
后台

可见只有登录的人才可以查看信息,当我们点击查询个人信息时候,我们不仅要看是否有用户名,还要看是否是lucy发过来的,要把用户信息和登录态的用户信息要进行对比做判断。
pikchu平台常见越权漏洞演示:前端用户平行越权
思路:首先我们先用一个超级管理员的一个账号登陆一下,登陆之后,我们对超级管理员独一无二的一个权限,比如说只有超级管理员才可以新加账号,那我们可以就对新增账号这么一个操作进行执行,执行完后,我们把新增账号的数据包给抓取下来,抓下来后我们就退出超级管理员。退出之后我们再切换到普通管理员的权限上边,然后我们把刚刚抓取到的数据包在用普通管理员的身份进行重放。如果操作成功,则存在垂直越权漏洞。
我们先进行登录


此时我们新增一个管理员

我们去把他的数据包给抓取下来可以看见一个POST请求

可见这是一个添加用户的一个请求
我们把他发送到repeater里

这时候我们退出登录
然后再burp上重放一下数据包查看返回包
可以看见一个跟踪direction,点击一下

然后我们再点到Response中的Render,可见,后台检测到你不是处于登录态

此时我们可以去查看一下刚刚重放的数据包是否成功

可见没有成功,说明后台具有登录态的判断的
然后我们用一个普通管理员的身份登录

可见普通管理员只有一个查看权限,没法进行添加用户
然后我们刷新页面获取该用户的登陆态的请求
我们把当前用户的登陆态复制

然后放在记事本里边

然后找到之前的POST请求的数据包
把该请求发到Repeater里边
因为之前超级管理员的登陆态已经退出,所以

这个cookie是没有用的。
这时候我们把他换成普通用户的登录态(cookie)

然后点一次重放,然后点一次follow redirection

可见他跳转到了超级管理员的登陆态里边去了
我们可以看他对应面的记录

可见多出一个用户,可见这是一个存在一个垂直越权漏洞。
后台

登陆状态是没有问题的,其次我们可以看到增加用户,是判断是否是登陆态

这个代码里边只是判断是否是登陆态,没有判断用户的级别。