NoClassDefFoundError обнаружен при исправлении последовательности CRLF в HttpHeader - PullRequest
0 голосов
/ 10 мая 2018

После выполнения проверки кода Vera на моем коде сообщалось об ошибке «Неправильная нейтрализация последовательностей CRLF в заголовках HTTP (« Разделение ответа 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 Сервлет: com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor Стек ошибок: java.lang.NoClassDefFoundError: org.apache.commons.fileupload.FileItemFactory в java.lang.J9VMInternals.verifyImpl (собственный метод) в java.lang.J9VMInternals.verify (J9VMInternals.java:94) в java.lang.J9VMInternals.initialize (J9VMInternals.java:171) в java.lang.Class.forNameImpl (собственный метод) в 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. Я использую ESAPI 2.1.0.1. Я подозреваю, что есть некоторая проблема конфигурации с настройкой httputilities ESAPI, я не уверен, что вышеуказанные свойства, установленные в ESAPI.properties, являются правильным способом установки для httputilities.

...