pikachu Over permission 越权(皮卡丘漏洞平台通关系列)
目录
1、水平越权
(1)闯关
(2)原因
(3)防御
2、垂直越权
(1)闯关
(2)原因
(3)防御
3、尾声
这关也挺简单
1、水平越权
也称为横向越权,指相同权限下不同的用户可以互相访问,比如A和B是同权限的用户,如果A能看到理论上只有B能看到的信息,或者A能执行理论上只有B能执行的操作,那就是水平越权啦。
(1)闯关
进入pikachu的水平越权关卡,一开始要求登录
越权总要先用一个用户登录成功吧,点一下提示,这关有三个同级别的用户,账号密码分别是lucy/123456,lili/123456,kobe/123456
先用lucy登录,发现有个可以点击查看个人信息的地方
点一下,回显了lucy的个人信息
注意到上图中url的参数username的值是用户名lucy,那么会不会该参数值是哪个用户名就回显哪个用户的信息呢?
来试一下payload:http://ip:port/pikachu/vul/overpermission/op1/op1_mem.php?username=kobe&submit=点击查看个人信息#
成功看到kobe的个人信息,lili也是一样,就不演示了
(2)原因
到底为啥会出这种问题?来看一下源代码
啊,和猜想的一样,是因为查找用户信息的时候传入的参数是直接从url中获取的,没有校验当前用户
(3)防御
接下来我想试一下防御水平越权。
如下图所示,27行增加判断url传入的username和当前用户是否匹配,如果匹配则为$username赋值,若不匹配则不赋值。
尝试一下,首先是直接点“点击查看个人信息”按钮,返回了当前登录用户lucy的个人信息
再尝试一下把url中的lucy改成kobe,没有返回kobe的个人信息,成功防御水平越权
2、垂直越权
又称纵向越权,指使用权限低的用户可以访问到权限较高的用户。比如A用户权限比B低,如果A可以访问理论上只有B才能访问的资源,或者执行理论上B才能执行的操作,那就是垂直越权啦。
(1)闯关
点进这关又是个登录页面
点一下提示,看看有哪些用户:
admin/123456,pikachu/000000,admin是超级boss
先用pikachu登录看看有哪些权限:
pikachu只有后台管理中心的查看权限
退出登录,再用admin用户登录,看看有哪些权限:
admin可以查看,添加,删除
下面分别进行添加和删除操作,记录相关的url:
先添加用户
url是:http://ip:port/pikachu/vul/overpermission/op2/op2_admin_edit.php
创建一个用户haha
再来看删除:
点击刚创建的haha用户那行的删除按钮,haha被删掉了,注意到url如下:
http://ip:port/pikachu/vul/overpermission/op2/op2_admin.php?id=25
好了,现在admin退出登录,再用pikachu登录
直接输入地址栏输入payload:http://ip:port/pikachu/vul/overpermission/op2/op2_admin_edit.php
顺利来到了添加用户的页面
创建用户enen,创建完之后会跳到登录页面,但是不要担心,用pikachu登录之后,发现用户enen已经创建成功
下面再来试试浏览器地址栏直接输入http://ip:port/pikachu/vul/overpermission/op2/op2_admin.php?id=26
回车之后也跳转到登录页面了,登录之后发现heihei还在,没有删除成功。
此时有两种可能性,要么是heihei的id并不是26,要么是这个url不存在垂直越权漏洞。
用admin登录之后删除heihei,确认heihei的id确实是26,那么就说明这个url不存在垂直越权漏洞。
这表示本关的垂直越权漏洞仅存在于http://ip:port/pikachu/vul/overpermission/op2/op2_admin_edit.php,不存在于http://ip:port/pikachu/vul/overpermission/op2/op2_admin.php?id=
(2)原因
看一下这两个操作的具体处理过程有什么区别:
先看没问题的删除操作op2_admin.php:
主要是23~26行,判断了用户是否登录,是否权限级别为1(超级boss),如果任意一条不满足,就跳转到登录页面
再来看看有问题的op2_admin_edit.php:
22~25行,只验证了用户是否登录,如果没登录就跳转到登录页面,没有验证用户权限等级,但前端显示添加用户是权限等级为1的用户才能执行的操作,因此这里有垂直越权漏洞。
(3)防御
来试一下防御,应该很简单,根据op2_admin.php修改一下op2_admin_edit.php:
22行增加对用户权限等级的判断$_SESSION['op2']['level']!=1
现在代码的意思变成,如果用户没登录或者权限等级不为1,则跳转到登录页面
用pikachu用户登录,直接在浏览器地址栏输入http://ip:port/pikachu/vul/overpermission/op2/op2_admin_edit.php,结果不再是跳转到添加用户的页面,而是跳转到用户登录的页面。防御成功
3、尾声
pikachu对越权漏洞的解释也有点怪怪的,这里就不贴了,网上看到一篇比较简洁的介绍还不错:水平越权与垂直越权
pikachu Over permission 越权(皮卡丘漏洞平台通关系列)相关推荐
- pikachu SQL 注入(皮卡丘漏洞平台通关系列)
一.数字型注入 目录 一.数字型注入 二.字符型注入 在burp抓包 使用reprter注入 找列数id=2 order by 2# &submit=%E6%9F%A5%E8%AF%A2,如果 ...
- pikachu File Inclusion 文件包含漏洞 (皮卡丘漏洞平台通关系列)
目录 一.来自官方的简介 二.来自小可爱的通关步骤 第一关 File Inclusion(local) 1.读取"隐藏"文件 2.读取系统文件 3.结合文件上传getshell ...
- pikachu SQL注入 (皮卡丘漏洞平台通关系列)
目录 一.官方的戏精引言 二.仙女在认真闯关 一重天 数字型注入 二重天 字符型注入 三重天 搜索型注入 四重天 xx型注入 五重天 insert/update注入 (1)insert注入 (2)up ...
- pikachu RCE(remote command/code execute)(远程命令执行/远程代码执行)(皮卡丘漏洞平台通关系列)
目录 一.官方介绍 二.诚意推荐 三.悠闲通关 第1关 exec "ping" 第2关 exec "eval" 一.官方介绍 本节引用内容来源pikachu漏洞 ...
- pikachu XXE (XML外部实体注入)(皮卡丘漏洞平台通关系列)
目录 一.来自官方的介绍以及来自民间的扩展 1.pikachu官方简介 2.小女子之前画的脑图 3.两个不错的博客 二.小白菜的闯关 1.查看系统文件内容 2.查看php源代码 3.爆破开放端口 三. ...
- pikachu XSS Cross-Site Scripting(皮卡丘漏洞平台通关系列)
目录 一.听pikachu介绍xss 二.羞耻又走心的推荐 三.比较EASY的闯关 第1关 反射型xss(get) 1.阳关道 2.独木桥 3.第三种方法 第2关 反射型xss(post) 第3关 存 ...
- pikachu Unsafe Filedownload 不安全的文件下载 (皮卡丘漏洞平台通关系列)
这关也几乎是一步就能搞定 1.轻松过关 进入本关看到下图的页面,点击球员名字可以下载头像图片 点击之后直接下载了,没有页面跳转,地址栏的url没有变化 右键 查看网页源代码 通过球员名称快速定位到相关 ...
- pikachu Unsafe Fileupload 不安全的文件上传(皮卡丘漏洞平台通关系列)
目录 一.client check 客户端验证 1.现象 2.绕过姿势 方法一.浏览器禁用javascript 方法二.burpsuite抓包改后缀 3.问题分析 二.MIME type 1.现象 2 ...
- pikachu 暴力破解 Brute Force(皮卡丘漏洞平台通关系列)
目录 一.官方概述 二.小白菜的通关 第一关 基于表单的暴力破解 第二关 验证码绕过(on server) 1.绕过步骤 2.一点思考 第三关 验证码绕过(on client) 1.绕过步骤 2 ...
最新文章
- Android内核开发必备知识
- 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY1-绪论
- spring boot+mybatis-plus+SQL server调用有返回值的存储过程
- poj 2769 感觉♂良好 (单调栈)
- php 获取文件扩展名的方法,PHP获取文件扩展名的4种方法,_PHP教程
- DISCUZ 嵌入点 输出插件模版内容
- C语言填空题10道,3道C语言填空题,谁帮忙做下,谢谢
- Java之volatile
- BZOJ4360 : achievement
- 软件测试——软件测试的实质
- 用DropDownList做的日期
- 设计模式-模板方法模式-以简历模板为例
- SSH配置-使用Bitvise SSH Client工具在Windows下远程登陆Linux服务器
- 横向移动-WINRM
- java调用商汤摄像头会推_​商汤科技推出人像识别SDK软件,可赋能安防摄像机等产品...
- Python 二进制数与十进制数转换表的制作
- Web 开发中地图使用——高德地图定位功能
- STM32系统时钟详解
- 淘宝店铺宝贝转化率该如何提升
- 棋牌算法——“贰柒拾”(字牌)