gpt4 book ai didi

java - java 情况下的 HTTP 响应拆分

转载 作者:行者123 更新时间:2023-12-02 07:58:51 40 4
gpt4 key购买 nike

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

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

response.addHeader("content-disposition", "attachment; filename=" + requestFilename);

我直接将未经处理的请求参数附加到响应 header 中。

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

到目前为止,我已经尝试过 \r\n%0D%0A 但它们不起作用。

response.addHeader() 是否能够免受此类攻击?
有人可以向我解释一下如何执行这种攻击吗?

最佳答案

在您的情况下,http 响应分割是否可行将取决于托管代码的 servlet 容器。

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

Tomcat 还会过滤写入响应的值 - 请参阅 Http11OutputBuffer (line 383) ,这可以防止损坏的值以某种方式最终作为 header 值返回给客户端。

永远不要说永远,但如果您使用的是 Tomcat 等流行网络服务器的最新版本,那么您应该不会受到响应 split 等众所周知的漏洞的影响。

关于java - java 情况下的 HTTP 响应拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28851641/

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