gpt4 book ai didi

java - Mass Assignment : Insecure Binder Configuration Vulnerability?的解决方法是什么

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:02:39 30 4
gpt4 key购买 nike

我在 Java 中有这个 Controller :

@Controller
public class AuthenticationController extends AbstractController {

@RequestMapping(value = Constantes.MAPPING_AUTH_BASE_ASP, method = { RequestMethod.POST })
public String authenticate(@Valid ComunicationWithAspRequest comunicationWithAspRequest, BindingResult result,
RedirectAttributes redirectAttributes, HttpSession sesion) throws Exception {
...
...
...
}
}

当我在 Fortify 中扫描我的代码时,对象 comunicationWithAspRequest 导致批量分配:不安全的 Binder 配置漏洞。是否可以控制哪些 HTTP 请求参数将在绑定(bind)过程中使用,哪些将被忽略?

最佳答案

可以引用问题Prevent mass assignment in Spring MVC with Roo .

在您的情况下,您可以使用 Spring MVC 提供的 @InitBinder@InitBinder 会指定json 和bean 映射的白名单。

根据我的经验,我使用@RequestBody 进行自动绑定(bind)。我需要添加 @JsonIgnore 来指定不包含在映射中的属性。

SimpleController.java

@RequestMapping(value="/simple")
public String simple(@Valid @RequestBody User user){
simpleService.doSomething();
}

用户.java

public class User{
private String name;

@JsonIgnore
private String dummy;

public void getName(){return name;}
public void setName(name){this.name = name;}
public void getDummy(){return dummy;}
public void setDummy(dummy){this.dummy= dummy;}

}

关于java - Mass Assignment : Insecure Binder Configuration Vulnerability?的解决方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840174/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com