1、介绍
越权,是指攻击者访问或者操作了超过当前身份权限的资源。
2、场景
(1)水平越权
攻击者登录账号,对其它账号的专属数据进行了请求或操作。
(2)垂直越权1
攻击者未登录,而直接对账号专属数据进行了请求或操作。
(3)垂直越权2
攻击者登录,但是对需要更高权限的数据进行了请求或操作。
3、防护
对重要数据的请求或操作,服务端严格检查是否登录,以及数据所属与登录用户是否匹配,数据所需权限与登录用户是否匹配。
4、测试&绕过
对于越权来说,cookie和token并没有区别。
(1)水平越权测试
篡改资源id为其他用户的该类型资源的id,然后判断是否执行成功
如果请求中不存在资源id,那么就无从着手
(2)垂直越权测试
- 严格来说,是对token或登录凭证进行篡改,避免未传递参数名而检查异常,分析是否执行成功
- 但手动测试时,一般是直接删除cookie和token测试,以及二分法删除cookie测试
- 一般来说,在同一路径下的登录凭证cookie的名称是一致的
5、实战经验
- 越权主要挖掘点是需要登录进行的操作,比如后台,关注/点赞/收藏等
- 对于草稿箱/未发布资源,或者手动设置仅个人查看,加密或设置访问口令的资源
- 尤其是未公开的博客中的图片或者文件资源。当然,如果其进行了重命名,无法爆破与猜解,也可以视为有效防止越权