Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Cette page n'est pas encore disponible en français, sa traduction est en cours. Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.
An attacker could try to pass a filename of content that could traverse the server path and control system files. Make sure all user-inputs is checked and sanitized before use.
classTest{@PostMapping(value="/fileupload")publicModelAndViewimportFile(@RequestParam("file")MultipartFilemyFile)throwsIOException{varuser=(WebGoatUser)SecurityContextHolder.getContext().getAuthentication().getPrincipal();vardestinationDir=newFile(fileLocation,user.getUsername());destinationDir.mkdirs();myFile.transferTo(newFile(destinationDir,myFile.getOriginalFilename()));log.debug("File saved to {}",newFile(destinationDir,myFile.getOriginalFilename()));returnnewModelAndView(newRedirectView("files",true),newModelMap().addAttribute("uploadSuccess","File uploaded successful"));}}
Compliant Code Examples
classTest{@PostMapping(value="/fileupload")publicModelAndViewimportFile(@RequestParam("file")MultipartFilemyFile)throwsIOException{// Safe: using sanitized filenameStringsanitizedFilename="upload_"+System.currentTimeMillis()+".dat";FiledestinationDir=newFile(fileLocation);myFile.transferTo(newFile(destinationDir,sanitizedFilename));returnnewModelAndView(newRedirectView("files",true));}}
1
2
rulesets:- java-security # Rules to enforce Java security.