java情况下的HTTP响应拆分

java情况下的HTTP响应拆分,java,httpresponse,response-headers,Java,Httpresponse,Response Headers,在以下情况下是否可以拆分HTTP响应: String requestFilename = request.getParameter("name"); response.addHeader("content-disposition", "attachment; filename=" + requestFilename); 我直接将未初始化的请求参数附加到响应头 我的问题是,通过使用CRLF字符,我们可以将自己的头插入到响应中 到目前为止,我已经尝试了\r\n和%0D%0A,但都不起作用 res

在以下情况下是否可以拆分HTTP响应:

String requestFilename = request.getParameter("name");

response.addHeader("content-disposition", "attachment; filename=" + requestFilename);
我直接将未初始化的请求参数附加到响应头

我的问题是,通过使用CRLF字符,我们可以将自己的头插入到响应中

到目前为止,我已经尝试了
\r\n
%0D%0A
,但都不起作用

response.addHeader()
是否对此类攻击免疫?

有人能给我解释一下这个攻击是如何执行的吗

在您的情况下,http响应拆分是否可能取决于承载代码的servlet容器

例如,Tomcat通过处理响应拆分(至少对于传入请求)来防范常见的安全漏洞

Tomcat还过滤写入响应的值-请参阅,这可以防止损坏的值以头值的形式返回给客户端


永远不要说“永不”,但如果您使用的是最新版本的流行web服务器,如Tomcat,您应该不会受到响应拆分等众所周知的漏洞的影响。

我假设addHeader正在转义您传递的任何内容。正在寻找一些明确的答案。请帮忙