错误:处理请求..失败:java.lang.NoClassDefFoundError:org.apache.commons.fileupload.FileItemFactory

x4shl7ld  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(145)

我正面临着信任边界违规问题,在我的应用程序中使用下面的方法,但appliciation不工作!

public static  String[] getValidInput(String[] input) {
        Log4j.log("info", "Enter Into getValidInput() ESAPI"+Arrays.toString(input));
        if(input==null) {
            return input;
            }
        List<String> res = new ArrayList<>();
        try {
        for(String str :input) {
            String output= ESAPI.validator().getValidInput("Validationofinput", str, "SafeString", 1000, false);
            res.add(output);
        }
        return res.toArray(new String[0]);
}
public String getRqst(HttpServletRequest request, String param) {
    String[] reqs = Validate.getValidInput(request.getParameterValues(param)); -> here i amgetting trust boundary violation in session variables for this issue i am using ESAPI

安全字符串:^[.\p{Alnum}\p{Space}_-]{0,1024}$
添加了两个下面的jar到应用程序不工作commons-fileupload-1.4,commons-io-2.4

neskvpey

neskvpey1#

ESAPI的Validator接口的默认实现类是DefaultValidator。这反过来最终会拉入DefaultHTTPUtilities类,该类引用Apache Commons FileUpload。
然而,如果没有额外的信息(例如,pom.xml或build.gradle中的依赖关系的详细信息等),除了描述可能导致这种情况的原因之外,我不能提供太多帮助。如果您需要帮助,您需要向我们提供这些详细信息。我建议创建一个使用Apache Commons FileUpload 1.4的玩具程序。它会编译吗?它能跑吗?
除非你(在你的应用程序构建文件中,例如,pom.xml,build.gradle等)正在做一些事情来排除Apache Commons FileUpload,或者你的公司正在阻止Maven Central(很多人都这样做),否则它应该可以工作。但是许多公司阻止了Maven Central,他们要求您从本地JFrog Artifactory示例中提取依赖项。如果是这种情况,则FileUpload 1.4也可能不存在。1.4版本可能会被阻止,因为FileUpload 1.4中存在已知的未修补漏洞(具体而言,CVE-2023-24998;[1][2][3][4][5][5][6]因此,SCA“防火墙”可能会阻止1.4版本。[注意:如果您使用ESAPI 2.5.2.0,它将自动使用Apache Commons FileUpload 1.5,除非您对其进行了更改。
无论如何,我需要更多的细节,然后才能提供更多的帮助。

相关问题