0

我有一个返回 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();"为服务器端请求伪造

4

0 回答 0