从HttpServletRequest对象获取cookie的最佳方法是什么?

时间:2019-06-18 11:19:21

标签: java servlets cookies fortify ssrf

我有一个返回cookie值的方法,该方法从自动连线的HttpServletRequest对象获取cookie。我要添加相同的Cookie,以调用restClient中的另一个服务。 一切正常,但是当我运行Fortify扫描时,它提出了一个高度优先的问题,即request.getCookies()可能导致服务器端请求伪造。在这种情况下该怎么办?

我已经尝试通过执行此操作来验证cookie字符串

StringEscapeUtils.escapeXml(StringEscapeUtils.escapeHtml(StringEscapeUtils.escapeJavaScript(cookie.getValue())));

但是没有用。

代码如下:

Cookie[] cookies = request.getCookies();

if (cookies == null ) {
    return EMPTY;
}

for (Cookie cookie : cookies) {
    if (HeaderConstant.ASESSIONID.equals(cookie.getName())) {
        return StringEscapeUtils.escapeXml(
               StringEscapeUtils.escapeHtml(
               StringEscapeUtils.escapeJavaScript(
               cookie.getValue())));
    }
}

因此,在服务器端进行伪造请求时,Fortify将突出显示"Cookie[] cookies = request.getCookies();"这一行

0 个答案:

没有答案