防范措施
- 前后端同时对用户输入信息进行校验,双重验证机制
- 调用功能前验证用户是否有权限调用相关功能
- 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
- 直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
- 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
实例
水平越权:
一般存在的问题是:用户id这些信息从客户端获取,交易id的增删改查不校验所属用户,这些都是些安全漏洞。
通常的解决办法是:用户信息从服务器session中获取,交易id的增删改查校验所属用户。
纵向越权:
一般发生在权限菜单等信息控制在 客户端或者浏览器,通过模拟参数获取更大权限。
解决办法:通过责任链的方式 在交易请求进来时对所属交易权限跟session进行对比。