为了账号安全,请及时绑定邮箱和手机立即绑定

HTTP 安全配置authorizeRequests() 出现 Sonar 严重缺陷

HTTP 安全配置authorizeRequests() 出现 Sonar 严重缺陷

holdtom 2023-12-13 16:41:39
我有一个 Spring Boot 应用程序,在调用 AuthorizeRequests() 的行中,我的配置函数出现以下声纳严重缺陷。我应该如何修复它?谢谢。Make sure that Permissions are controlled safely here. Controlling permissions is security-sensitive.  It has led in the past to the following vulnerabilities: CVE-2018-12999 CVE-2018-10285 CVE-2017-7455我的配置类:@Configuration@EnableWebSecuritypublic class MyConfig extends WebSecurityConfigurerAdapter {      @Override      protected void configure(HttpSecurity http) throws Exception {      http                    .authorizeRequests()  // Sonar complain this line here        .antMatchers("/v1/").permitAll()        .antMatchers("/**").authenticated()        .and().httpBasic()        .and().cors();   }}
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

我刚刚查找了声纳中的错误描述,下面是声纳中的错误描述。

控制权限是安全敏感的。它在过去导致了以下漏洞:

  • CVE-2018-12999

  • CVE-2018-10285

  • CVE-2017-7455

攻击者只能破坏他们有权访问的内容。因此,限制他们的访问是防止他们造成严重破坏的好方法,但必须采取正确的做法。

此规则标记控制对资源和操作的访问的代码。目标是指导安全代码审查。

以下是导致声纳问题的代码

.authorizeRequests()  // Sonar complain this line here

.antMatchers("/v1/").permitAll()

.antMatchers("/**").authenticated()

正如我在您的问题的评论中提到的,不要盲目授权请求,访问应该受到限制,如下所示


http.authorizeRequests()

  .antMatchers("/", "/home").access("hasRole('USER')")

  .antMatchers("/admin/**").hasRole("ADMIN")

  .and()

  // some more method calls

如果这是您的测试/非生产代码,只需在抱怨问题的行添加//NOSONAR,声纳将绕过它,但**不要在生产环境中使用//NOSONAR。


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信