在HttpHeader

时间:2018-05-09 20:35:16

标签: cookies http-headers noclassdeffounderror esapi veracode

在对我的代码执行Vera代码扫描之后,报告了一个漏洞,说明“HTTP头中的CRLF序列中断不正确('HTTP响应拆分 - CWE ID 113')”。

public void writeCookies() {
            for (final Cookie cookie : cookies) {
                super.addCookie(cookie);
            }

报告的漏洞代码是super.addCookie(cookie)。为了解决这个问题,我在下面添加了代码

public void writeCookies() {
            for (final Cookie cookie : cookies) {
                cookie.setSecure(true);
                ESAPI.httpUtilities().addCookie(((HttpServletResponse)super.getResponse()),cookie);
            }
        }

现在,Veracode扫描不会报告代码中的任何缺陷。但是,在运行应用程序时,我得到NoClassDefFoundError,如下所示

  

错误消息:javax.servlet.ServletException:   java.lang.NoClassDefFoundError:   org.apache.commons.fileupload.FileItemFactory错误代码:500 Target   Servlet:com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor   错误堆栈:java.lang.NoClassDefFoundError:   org.apache.commons.fileupload.FileItemFactory        at java.lang.J9VMInternals.verifyImpl(Native Method)        at java.lang.J9VMInternals.verify(J9VMInternals.java:94)        at java.lang.J9VMInternals.initialize(J9VMInternals.java:171)        at java.lang.Class.forNameImpl(Native Method)        at java.lang.Class.forName(Class.java:180)        在org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:74)        在org.owasp.esapi.ESAPI.httpUtilities(ESAPI.java:121)

我的ESAPI.properties文件位于src / main / resources / ESAPI.properties位置 ESAPI.properties文件的内容是

*

  

Encoder.AllowMultipleEncoding = false Encoder.AllowMixedEncoding = false   Encoder.DefaultCodecList = HTMLEntityCodec,PercentCodec,JavaScriptCodec   ESAPI.HTTPUtilities = org.owasp.esapi.reference.DefaultHTTPUtilities

*

请建议我如何解决这个NoClassDefFoundError ......

0 个答案:

没有答案