龚越权:龚越权是指攻击者尝试访问与他具有相同权限的用户的资源
纵向越权:纵向越权是指低级攻击者尝试访问高级用户的资源
如何防止横向越权漏洞:
通过与用户建立可操作资源的绑定关系,无论用户对哪个资源执行操作,该绑定关系都可以确保该资源属于该用户。
间接映射请求中的关键参数,以避免使用原始关键参数名称,如使用索引1代替id值123
如何防止纵向越权漏洞:
建议使用基于角色的访问控制机制来防止纵向越权攻击。 也就是说,可以预定义不同的权限角色,为每个角色分配不同的权限,并且每个用户属于特定角色。 也就是说,在具有固定权限且用户采取动作或采取行动时,用户角色确定是否允许该动作或行动。
水平权限问题攻击者可以通过将接口参数的id加1等操作,取得其他用户的权限和数据。
解决方案级别的权限参数使用id加密、随机数或GUID而不是自增值,但搜索引擎或攻击者同样使用此随机数和连接从session信息中检索数据库表并添加ownerId字段, 添加或删除查询时作为where语句的条件添加(修改者必须与发布者相同才能访问)垂直权限漏洞是指web APP应用程序没有权限控制或仅通过菜单进行权限控制,恶意用户可以访问其他页面
修正案:
只需要验证url资源的权限。