我是靠谱客的博主 害羞学姐,最近开发中收集的这篇文章主要介绍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 场景所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部