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