我正在使用弹簧控制器,我有方法获取下载文件。
控制器方法用于下载文件,我将文件名设置为此..
response.setHeader("Content-disposition", "attachment;filename=" + reportname+ ".csv");
其中文件名来自控制器方法,方法看起来像..
@RequestMapping(value = "/{reportname}")
public void downloadCSV(HttpServletResponse response, @PathVariable(name="reportname",required=true) @NotBlank String reportname)
throws IOException {
我在 checkmarx 中得到的是这个。报告名称参数。然后,此元素的值在未经过适当清理或验证的情况下流经代码,并最终在 downloadCSV 中的 HTTP 响应标头中使用。在某些无法缓解此攻击的旧版本中,这可能会启用 HTTP 响应拆分攻击。