首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在request.getQueryString中放置response.sendRedirect是否会使您容易受到HTTP响应拆分的影响?

在request.getQueryString中放置response.sendRedirect是否会使您容易受到HTTP响应拆分的影响?
EN

Stack Overflow用户
提问于 2015-06-17 21:18:56
回答 1查看 1.1K关注 0票数 0

我做了一个最小的JSP:

代码语言:javascript
复制
<%
    response.sendRedirect(request.getQueryString());
%>

显然,它不是很有用,但它足以触发一个FindBugs警告,我在我的实际JSP上也得到了这样的警告:

此代码直接将HTTP参数写入HTTP标头,从而允许HTTP响应分裂漏洞

然而,我很确定FindBugs在这里是错的。Per 医生们 getQueryString不对查询字符串进行解码,我不认为编码的查询字符串可以包含CRLF,因为它必须在请求行中。据我所知,CRLF是不可能进去的。

如果查询字符串为null,并且字符串将被解释为相对或不相关,这可能不是很好,但是这里是否存在HTTP响应分裂漏洞?

如果有的话,我们怎样才能防止呢?

EN

回答 1

Stack Overflow用户

发布于 2015-06-18 13:34:06

简短的回答是肯定的。但是有更多的安全问题,而不仅仅是响应分裂(也就是标题或CRLF注入)。还有一个“未经验证的重定向”问题。攻击者可以通过您的站点将您的客户重定向到其他危险站点(钓鱼、攻击等)。

解决方案是创建一个白名单,并检查当前目标是否在白名单中。这防止了这两个问题。对值进行编码只是解决响应分裂问题的方法,但不针对重定向问题工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30902563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档