目录
1、什么是越权漏洞呢?
2、水平越权
3、垂直越权
4、burpsuite autorize插件
最近在学习逻辑漏洞的相关知识和技能,这里pikachu靶场作为演示进行学习一下:
pikachu靶场:GitHub - zhuifengshaonianhanlu/pikachu: 一个好玩的Web安全-漏洞测试平台
进入到水平越权和垂直越权的页面:
可以看到该靶场是这样介绍越权漏洞的:
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;
1、什么是越权漏洞呢?
参考其他大佬总结的:
漏洞产生的原理:逻辑越权漏洞就是不同用户之间操作权限的请求数据包没有做验证或验证不完整,导致用户A修改了身份验证的标志后,就有了同权限或高权限的操作权限。
通常用户访问一个应用的大致流程是:登陆—验证权限—数据库查询—数据返回,如果”验证权限”这个阶段出现验证权限不足或没有验证,那么就会导致越权,用户A可以操作其他用户的内容。
逻辑越权分为两类:水平越权和垂直越权
水平越权-同级用户权限共享:用户信息获取时未对用户与ID比较判断直接查询等
垂直越权-低高用户权限共享:数据库中用户类型编号接受篡改或高权限操作未验证等
越权漏洞容易出现在权限页面(需要登陆的页面)增,删,改,查的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
2、水平越权
点击进入到进入到水平越权页面
可以看到是一个登录框,并且点击提示可以看到给出的账号和密码,那么就来尝试登录一下:
可以看到成功的登录
下面就需要对水平越权的概念进行一下理解了:水平越权-同级用户权限共享:用户信息获取时未对用户与ID比较判断直接查询等
那么我们就可以尝试在登录时抓包然后看是否存在可以修改用户ID的地方:
修改后,然后放包查看:
可以看到,本来我们在输入框输入的lucy用户,通过抓包修改,利用水平越权成功的登录到了lili用户中,那么如果这个情况出现在游戏账号中,一个不充钱的小白是不是可以越权到V10氪金大佬的账号中呢(当然没有那么容易)
3、垂直越权
点击进入到垂直越权页面:
可以看到页面也是一个登录框,并且提示我们这里有两个用户,
pikachu/000000
admin/123456
并且说明这个admin用户是超级boss
进行操作前我们再来看看垂直越权的概念:垂直越权-低高用户权限共享:数据库中用户类型编号接受篡改或高权限操作未验证等
那不用想了,一定是要用低权限的pikachu来越权到admin了
那么试试使用上面的方法,尝试登录pikachu用户,然后抓包将用户名和密码修改为管理员的:
然后放包:
可以看到成功的登录到了admin用户中,可以对所有的用户进行管理,这里也可以增加一个用户,留个小后门,防止管理员更改密码后无法登录
4、burpsuite autorize插件
下面介绍一个好用的越权burp autorize插件的使用,这里直接引用大佬的总结介绍:
Autorize 是一个旨在帮助渗透测试人员检测授权漏洞的扩展,这是 Web 应用程序渗透测试中比较耗时的任务之一。
将低权限用户的 cookie 提供给扩展程序并使用高权限用户浏览网站就足够了。该扩展会自动重复每个请求与低权限用户的会话并检测授权漏洞。
除了授权漏洞之外,还可以在没有任何 cookie 的情况下重复每个请求,以检测身份验证漏洞。
该插件无需任何配置即可工作,但也是高度可定制的,允许配置授权执行条件的粒度以及插件必须测试哪些请求,哪些不需要。可以保存插件的状态并以 HTML 或 CSV 格式导出授权测试报告。
报告的执行状态如下:
绕过!- 红色
强制执行!- 绿色
强制执行???(请配置强制检测器) - 黄色
安装方法参考:越权检测 burp插件 autorize 使用-腾讯云开发者社区-腾讯云
然后还是用pikachu靶场来演示一下:
首先登录pikachu用户获取低权限的cookie:
然后放到autorize插件中:
尝试访问高权限用户: