第33天逻辑越权之水平垂直越权
#水平,垂直越权,未授权访问
解释,原理,检测,利用,防御等
通过某个ID之类的身份标识,从而使A账号获取(修改,删除)B账号数据
使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。
通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。
原理:
前端安全造成:界面
判断用户等级后,代码界面部分进行可选显示
后端安全造成:数据库
user表(管理员和普通用户同表)
id,username,password,usertype
1,admin,123456,1
2,xiaodi,11111,2
登录用户admin或xiaodi时代码是如何验证这个级别?(usertype判断)
如果在访问数据包时有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,就是测试越权漏洞的基本。
垂直越权:添加用户
前提条件:获取添加用户的数据包
怎么来的数据包:
普通用户前端有操作页面可以抓取数据包
通过网站源码本地搭建自己去模拟抓取
盲猜
演示案例:
Pikachu-本地水平垂直越权演示(漏洞成因)
墨者水平-身份认证失效漏洞实战(漏洞成因)
越权检测-小米范越权漏洞检测工具(工具使用)
越权检测-Burpsuite插件Authz安装测试(插件使用)
墨者案例:
抓取到此数据包,猜测每个card_id对应一个用户,并且cookie中有账号和密码,密码用md5加密了。用burp进行爆破,从网页中找到目标的id,得到对应账号和密码
Authz(bp插件)
用某一用户的cookie触发数据包,如果为绿色则存在越权漏洞(状态码200)
推荐工具:cnhack
License:
CC BY 4.0