越权漏洞解析

·越权漏洞概述

·常见越权漏洞演示:平行越权

·常见越权漏洞演示:垂直越权

·越权漏洞的常见防范措施

越权漏洞的概述

由于后台没有对用户权限进行严格的判断,导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超级管理员)范围内的操作。

平行越权: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

越权漏洞(文字和测试)

可见他跳转到了超级管理员的登陆态里边去了

我们可以看他对应面的记录

越权漏洞(文字和测试)

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

后台

越权漏洞(文字和测试)

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

越权漏洞(文字和测试)

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

相关文章: