大家好!
我是小黄,很高兴又跟大家见面啦 !
拒绝水文,从我做起 !!!!
今天更新的是:
- P8 PikaChu_Over Permission越权
- 往期检索:程序设计学习笔记——目录
创建时间:2021年3月23日
软件: MindMaster Pro 、Burp Suite Pro 、火狐浏览器
前言
- 如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了
不合理的权限校验规则导致的。 - 一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
- 因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;
你可以通过“Over permission”对应的测试栏目,来进一步的了解该漏洞。
一、水平越权
- A用户和B用户属于同一级别用户,但各自不能操作对方个人信息。A用户如果越权操作B用户个人信息的情况称为
水平越权操作
。
漏洞分析、利用
- 越权总要先用一个用户登录成功吧,根据提示,这关有三个同级别的用户,账号密码分别是
lucy/123456、lili/123456、kobe/123456
- 我们随便用一个账户登录试一下
http://127.0.0.1/pikachu/vul/overpermission/op1/op1_mem.php?username=kobe&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF
- 登录成功之后发现
URL
的参数username
的值是用户名kobe
、这时我们该注意一下了,是不是可以尝试修改呢? - 将username
的值是用户名
kobe修改为
lucy` 尝试一下 http://127.0.0.1/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF
第二种方法尝试一下
- 只要能传输数据,都可以抓包尝试一下
- 我们将抓到的数据包,发送到 Repeater进行修改
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210323195215828.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDUxOTc4OQ==,size_16,color_FFFFFF,t_70)
- 将username
的值是用户名
lucy修改为
kobe` 尝试一下 - 返回
kobe
的信息,水平越权成功
二、垂直越权
- 又称纵向越权,指使用权限低的用户可以访问到权限较高的用户。比如A用户权限比B低,如果A可以访问理论上只有B才能访问的资源,或者执行理论上B才能执行的操作,那就是
垂直越权
。
漏洞分析、利用
- 根据提示:
admin/123456,pikachu/000000,admin是超级boss
- 我们先登录pikachu/000000 账户查看一下
- 我们登录进去系统告诉我们只有查看权限。
- 我们登录admin 超级BOSS账户发现,不仅仅可以查看而且还能够添加、删除列表。
- URL :
http://127.0.0.1/pikachu/vul/overpermission/op2/op2_admin.php
- 我们尝试添加账户记录一下URL:
http://127.0.0.1/pikachu/vul/overpermission/op2/op2_admin_edit.php
- 我们尝试删除
xiaohuang
账户记录一下URL:http://127.0.0.1/pikachu/vul/overpermission/op2/op2_admin.php?id=31
- 我们注意一下删除账户,URL多了一个
id
号
- 我们尝试在浏览器中直接输入URL尝试添加账户
xiaohuang
试一下:http://127.0.0.1/pikachu/vul/overpermission/op2/op2_admin_edit.php
- 可以正常登录而且可以正常添加账户
- 越权成功
- 我们尝试在浏览器中直接输入URL尝试删除账户
xiaohuang
试一下:http://127.0.0.1/pikachu/vul/overpermission/op2/op2_admin.php?id=31
发现并不能删除,我尝试了一下创建一个xiaohuang账户,记录一下删除URL显示的id号、再次创建一个xiaohuang账户,记录一下删除URL显示的id号,两次比较发现显示的id号并不一样。 - 只要有数据就能抓包嘛,我们来抓个数据包来看看。重新用管理员账户登录,创建新的用户,用Burp Suite来抓包
- 将抓到的请求发送到repeater中 、登陆普通用户 抓取普通用户的cookie值
- admin 登录cookie :
tajmolu7pq1l2kp950rhno3107
- 普通用户登陆成功后 将这个cookie值修改到发送到repeater中的请求中 重放这个数据包
- 替换cookie 登录:
tajmolu7pq1l2kp950rhno3107
- 发现有两个xiaohuang1账户
产生原因
op2_login.php
页面 对于登陆用户的level
进行了判断 判断他们进入哪个页面
op2_user.php
只判断了是否登陆
op2_admin_edit.php
:只验证了用户是否登录,如果没登录就跳转到登录页面,没有验证用户权限等级,但前端显示添加用户是权限等级为1的用户才能执行的操作,因此这里有垂直越权漏洞。
各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。
每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
把握现在 ,展望未来 ,加油 !
由于水平有限 ,写的难免会有些不足之处 ,恳请各位大佬不吝赐教 !