WEB漏洞-逻辑越权之水平垂直越权全解
逻辑越权简介
水平越权
- 通过更换的某个 ID 之类的身份标识,从而使 A 账号获取(修改、删除等)B/C/D账号数据(权限相同)。
逻辑越权
- 使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。
未授权访问
- 通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。(有些操作要管理员才行)
Pikachu-本地水平/垂直越权演示
水平越权
查看提示获得帐号密码,登录其中1个帐号抓包并查看内容
可以尝试将数据包中的
lucy
修改为其他用户,尝试越权,发现个人信息已经更改,已经获取到其它用户信息,同时如果条件允许,可以修改用户信息
查看源代码
- 这里直接将传入的
username
作为参数填入到sql语句中,甚至可以利用该漏洞进行sql注入
垂直越权
查看提示获得帐号密码,登录其中2个帐号抓包并查看内容,目的是利用普通账户获得admin账户的权限
对admin账户的数据包进行抓取
获取到请求内容后尝试利用普通用户的cookie进行访问,前提是这个cookie没有退出登录过,成功添加新用户
pikachu靶场的垂直越权是通过游客的cookie,去访问管理员的添加用户的文件(也就是adminedit.php文件),由于adminedit.php只验证是否登录,所以存在越权漏洞
总结获取数据包的信息方法
- 前端有操作,可以直接抓包
- 盲猜添加用户的数据包信息
- 获取网站的源码,在本地进行测试
- 漏洞有些鸡肋,但是在用户登录的时候,可以利用该漏洞直接进入管理员界面
墨者水平-身份认证失效漏洞实战
进入靶场
抓包和浏览器请求记录发现信息
猜测该请求中的参数对应图片名,只要找到对应的图片名就可以获取题目要求的信息
尝试修改burp请求来获取信息
- 用户名为
m233241
,md5解密为9732343
越权检测-小米范越权漏洞检测工具
越权检测-Burpsuite 插件 Authz 安装测试
插件安装
将测试器结果发送到Authz
添加cookie后,点击
run
批量测试
修复防御方案
- 前后端同时对用户输入信息进行校验,双重验证机制,这里的后端是数据库,也就是将用户权限写入数据库
- 调用功能前验证用户是否有权限调用相关功能,执行前需要对用户权限检验
- 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
- 直接对象引用的加密资源 ID,防止攻击者枚举 ID,敏感数据特殊化处理,在参数值进行加密,如对card_id的值加密
- 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
最后一次更新于2022-02-11 10:57
0 条评论