بعد از انجام اسکریپت Vera در کد من، یک نقص گزارش شده است که "ناپیوسته شدن نادرست صفات CRLF در هدر HTTP (" HTTP Response Splitting – CWE ID 113 ") در کد زیر
{
برای (آخرین کوکی کوکی: کوکی ها) {
super.addCookie (کوکی)؛
}
کد خرابی گزارش شده super.addCookie (کوکی) است. برای اصلاح این زیر کد زیر اضافه کردم:
public void writeCookies () {
برای (آخرین کوکی کوکی: کوکی ها) {
cookie.setSecure (درست)؛
ESAPI.httpUtilities (). addCookie (((HttpServletResponse) super.getResponse ())، کوکی)؛
}
}
اکنون اسکن Veracode هیچ نقصی در کد گزارش نمی کند. با این حال، هنگام اجرای برنامه، NoClassDefFoundError را به صورت زیر می بینم
پیام خطا: javax.servlet.ServletException:
java.lang.NoClassDefFoundError:
org.apache.commons.fileupload.FileItemFactory کد خطا: 500 هدف
سرولت: 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 = encoder.AllowMixedEncoding = اشتباه اشتباه است
Encoder.DefaultCodecList = HTMLEntityCodec، PercentCodec، JavaScriptCodec
ESAPI.HTTPUtilities = org.owasp.esapi.reference.DefaultHTTPUtilities
لطفا به من در مورد چگونگی رفع این NoClassDefFoundError مراجعه کنید. من از ESAPI 2.1.0.1 استفاده می کنم. من معتقد هستم که برخی از مشکلات پیکربندی با پیکربندی سوالات ESAPI وجود دارد، من مطمئن نیستم که ویژگی های بالا در ESAPI.properties تنظیم شده است راه مناسب برای تعیین راه حل های مناسب.