gpt4 book ai didi

java - 防止 Java 中的 HTTP 响应拆分攻击

转载 作者:行者123 更新时间:2023-12-01 22:33:32 25 4
gpt4 key购买 nike

我正在使用 spring Controller ,我有方法下载文件。

Controller 方法用于下载文件,我将文件名设置为这样..

response.setHeader("Content-disposition", "attachment;filename=" + reportname+ ".csv");

其中文件名来自 Controller 方法,方法看起来像..

@RequestMapping(value = "/{reportname}")
public void downloadCSV(HttpServletResponse response, @PathVariable(name="reportname",required=true) @NotBlank String reportname)
throws IOException {

我在 checkmarx 中得到的是这样的。报告名称参数。然后,该元素的值在没有经过适当清理或验证的情况下流经代码,并最终在 downloadCSV 中的 HTTP 响应 header 中使用 在某些无法缓解此攻击的旧版本中,这可能会引发 HTTP 响应拆分攻击。

最佳答案

您应该(至少)不确定:

  • 报告名称不包含/或 .. 字符
  • 报告名称不包含任何 CRLF 字符
  • reportname 是一个真实的文件名(可能不包含 .),指的是文件名的操作系统实现,以添加白名单表达式。

参见Input Validation从 OWASP 获取更多信息和解决方案

关于java - 防止 Java 中的 HTTP 响应拆分攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58539396/

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