无法解决checkmarx中的“未验证的数据库输出”

时间:2018-10-22 12:06:50

标签: java xss static-analysis checkmarx

我正在使用checkmarx进行静态扫描,但在此问题上遇到了麻烦。它说

  

FileUtils.java文件的第18行中发现了未经验证的数据库输出。在write的第18行发现了可能的XSS利用。

我进行了搜索,但未找到任何有希望的解决方案。代码段:

public static Map<String, byte[]> getSomething(InputStream is) throws IOException {
    Map<String, byte[]> classes = new HashMap<String, byte[]>();
    try (ZipInputStream stream = new ZipInputStream(is)){
        ZipEntry entry;
        while ((entry = stream.getNextEntry()) != null) {
            try(ByteArrayOutputStream out = new ByteArrayOutputStream()) {
                byte[] buffer = new byte[2048];
                String entryName = entry.getName();
                int len = 0;
                while ((len = stream.read(buffer)) > 0) {
                    out.write(buffer, 0, len);
                }
                if (out.size() > 0 && entryName.endsWith(".class")) {
                    String className = entryName.substring(0, entryName.length() - ".class".length()).replaceAll("/", ".");
                    classes.put(className, out.toByteArray());
                }
            }
        }
    }
    return classes;
}

该报告说Source对象是buffer,Destination对象是write,但我没有找到此问题的根本原因。任何线索将不胜感激。谢谢

0 个答案:

没有答案