我是靠谱客的博主 害羞学姐,最近开发中收集的这篇文章主要介绍Fortify Access Control1. 描述2. 场景3. Database 场景,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. 描述
没有适当的 access control, 导致攻击者访问未授权的数据
2. 场景
- Database 场景
3. Database 场景
访问数据未经访问权限控制, 存在越权查看数据漏洞
3.1 存在漏洞代码
通过 id 查询用户信息, 未对数据访问权限检查, 导致攻击者越权查看未授权的数据, 造成横向越权
@Slf4j
@RestController
@RequestMapping("accessControl")
public class AccessControlController {
private final UserService userService;
public AccessControlController(UserService userService) {
this.userService = userService;
}
/**
* 数据访问权限控制失效, 越权查看数据
* @param id
* @return
*/
@GetMapping("database")
public ResponseVO database(@RequestParam("id") Long id) {
// 通过 id 查询数据, 数据查询没有经过权限校验, 可以遍历 id 查询任意用户的信息
User user = userService.getById(id);
return ResponseVO.success(user);
}
}
正常请求: http://localhost:8080/accessControl/database?id=1
攻击者请求: http://localhost:8080/accessControl/database?id=2 (不断遍历查看其他用户信息)
3.2 修复建议
在系统中增加数据权限管理, 查询数据时去数据权限管理中心验证
最后
以上就是害羞学姐为你收集整理的Fortify Access Control1. 描述2. 场景3. Database 场景的全部内容,希望文章能够帮你解决Fortify Access Control1. 描述2. 场景3. Database 场景所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复