今天给大家show一下,国内最强的代码审查工具CoBOT,对OWASP Benchmark进行代码审查的报告。

                                             Benchmark

                                             代码检测报告

                                                                                        ******公司

                                                                                    2019年10月25日

被测项目名称

Benchmark

测试类别

静态代码审查

测试日期

2019年10月25日

委托单位

公司

测评结论

根据问题的严重程度,分为致命,严重,错误,警告,建议,五个安全级别。

此次测试共发现

致命缺陷  2 个,

严重缺陷  1716 个,

错误缺陷  0 个,

警告缺陷  0 个,

建议缺陷  0 个,

合计  1718  个。

详细分析请见(详情)章节

公司

2019年10月25日

编   制:              审    批:               批   准:

概况

测试对象

Benchmark

风险等级

风险等级是参照NASA Software Safety Guidebook风险等级划分,如下表所示:

表一:缺陷严重等级

缺陷严重等级

等级描述

致命

会造成程序崩溃的缺陷

严重

可能会影响程序的功能和性能的缺陷

错误

会影响程序的功能和性能,或者造成未定义行为的缺陷

警告

会轻度的影响程序功能性能,或者潜在的影响程序功能性能。

建议

不会直接影响程序的功能和性能,但这不是良好的代码风格,可能会有潜在的影响。

测试选用规则

CoBOT 成立代码审计技术服务小组,该任务组在工作组织中,开展了安全保密教育,制定了安全保密措施,签署了安全保密协议,并有针对性的做好测试服务的各项准备。

测试原则

本次测试工作中严格遵循以下原则:

(1)标准性原则:代码审计方案的设计和实施应依据行业、国家、国际的相关标准进行;

(2)规范性原则:软件开发商的工作过程和所有文档,应具有很好的规范性,以便于项目的跟踪和控制;

(3)可控性原则:在保证测试质量的前提下,按计划进度执行,需要保证对代码审计工作的可控性,代码审计的工具、方法和过程要在双方认可的范围之内合法进行;

(4)整体性及有限性原则:渗透性测试的内容应包括用户等各个层面,渗透性测试的对象应包括和仅限于用户所指定的具体设备及系统,未经用户授权不得减小或扩大渗透性测试的范围和对象;

(5)最小影响原则:源代码安全审查工作在模拟系统开发环境的测试机上进行,不能对正常运行的系统构成破坏和停止;

(6)保密原则:源代码安全审查的过程和结果应严格保密,不能泄露测试项目所涉及的任何打印和电子形式的有效数据和文件。

详情

本次代码测试情况如下表所示:

检测人

amin

检测时间

2019-10-25 17:47:18

文件数

5578 个

缺陷数

1718 个

代码总行数

313215 行

耗时

3分6秒

语言类型

Java,Html,JavaScript

Java语言安全编码规则检测结果汇总

序号

名称

严重等级

数量

1

SE_10_03 Servlet中潜在的XSS

致命

1

2

SE_01_18 printStackTrace()导致信息泄露

严重

1455

3

SE_05_03 潜在的命令行注入

严重

212

4

SE_01_16 不提供完整性的密码

严重

49

合计

1717

Java语言安全编码规则检测结果详解

序号

缺陷详细信息

1

缺陷名称:SE_10_03 Servlet中潜在的XSS   CWE-79

缺陷数量:1个

缺陷详解:发现了潜在的XSS。 它可以用于在客户端的浏览器中执行不需要的JavaScript。XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

1.1缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00030.java中第55行。

   缺陷说明:在(BenchmarkTest00030.java)文件第(45)行调用方法[HttpServletRequest.getParameterMap]获取外部输入变量,该变量为不受信数据,在第(55)行调用方法[HttpServletResponse.getWriter.printf]写入数据,其中包括来自不可信的外部数据,可能存在潜在的XSS攻击,不信任任何客户端提交的数据,只要是客户端提交的数据就应该先进行相应的过滤处理然后方可进行下一步的操作。

代码片段:

53

54     Object[] obj = { "a", "b"};

55     response.getWriter().printf(param,obj);

56    }

57   }

2

缺陷名称:SE_01_18 printStackTrace()导致信息泄露   CWE-209

缺陷数量:1455个

缺陷详解:敏感信息本身可能是有价值的信息(例如密码),或者对于发起其他更致命的攻击可能是有用的。 如 果攻击失败,攻击者可能会使用服务器提供的错误信息来启动另一个更集中的攻击。例如,尝试利用路径遍历弱点可能会产生已安装应用程序的完整路径名。 反过来,这可以用于选择适当数量的“..”序列以导航到目标文件。 使用SQL注入的攻击最初可能不会成功,但错误消息可能会显示错误的查询,这会暴露查询逻辑,甚至可能暴露查询中使用的密码或其他敏感信息。

2.1缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02191.java中第111行。

   缺陷说明:在(BenchmarkTest02191.java)文件第(111)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

109     } catch (java.security.InvalidKeyException e) {

110      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

111      e.printStackTrace(response.getWriter());

112      throw new ServletException(e);

113     } catch (java.security.InvalidAlgorithmParameterException e) {

2.2缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01564.java中第105行。

   缺陷说明:在(BenchmarkTest01564.java)文件第(105)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

103     } catch (javax.crypto.BadPaddingException e) {

104      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

105      e.printStackTrace(response.getWriter());

106      throw new ServletException(e);

107     } catch (java.security.InvalidKeyException e) {

2.3缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02661.java中第104行。

   缺陷说明:在(BenchmarkTest02661.java)文件第(104)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

102     } catch (java.security.InvalidKeyException e) {

103      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

104      e.printStackTrace(response.getWriter());

105      throw new ServletException(e);

106     } catch (java.security.InvalidAlgorithmParameterException e) {

2.4缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00687.java中第113行。

   缺陷说明:在(BenchmarkTest00687.java)文件第(113)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

111     } catch (javax.crypto.BadPaddingException e) {

112      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

113      e.printStackTrace(response.getWriter());

114      throw new ServletException(e);

115     } catch (java.security.InvalidKeyException e) {

2.5缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01228.java中第96行。

   缺陷说明:在(BenchmarkTest01228.java)文件第(96)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

94     } catch (javax.crypto.IllegalBlockSizeException e) {

95      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

96      e.printStackTrace(response.getWriter());

97      throw new ServletException(e);

98     } catch (javax.crypto.BadPaddingException e) {

2.6缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00609.java中第92行。

   缺陷说明:在(BenchmarkTest00609.java)文件第(92)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

90     } catch (java.security.NoSuchAlgorithmException e) {

91      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

92      e.printStackTrace(response.getWriter());

93      throw new ServletException(e);

94     } catch (javax.crypto.NoSuchPaddingException e) {

2.7缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00053.java中第117行。

   缺陷说明:在(BenchmarkTest00053.java)文件第(117)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

115     } catch (javax.crypto.BadPaddingException e) {

116      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

117      e.printStackTrace(response.getWriter());

118      throw new ServletException(e);

119     } catch (java.security.InvalidKeyException e) {

2.8缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00350.java中第103行。

   缺陷说明:在(BenchmarkTest00350.java)文件第(103)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

101     } catch (javax.crypto.IllegalBlockSizeException e) {

102      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

103      e.printStackTrace(response.getWriter());

104      throw new ServletException(e);

105     } catch (javax.crypto.BadPaddingException e) {

2.9缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00691.java中第115行。

   缺陷说明:在(BenchmarkTest00691.java)文件第(115)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

113     } catch (javax.crypto.BadPaddingException e) {

114      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

115      e.printStackTrace(response.getWriter());

116      throw new ServletException(e);

117     } catch (java.security.InvalidKeyException e) {

2.10缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00056.java中第132行。

    缺陷说明:在(BenchmarkTest00056.java)文件第(132)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

130     } catch (java.security.InvalidAlgorithmParameterException e) {

131      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

132      e.printStackTrace(response.getWriter());

133      throw new ServletException(e);

134     }

2.11缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02549.java中第125行。

    缺陷说明:在(BenchmarkTest02549.java)文件第(125)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

123     } catch (java.security.InvalidAlgorithmParameterException e) {

124      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

125      e.printStackTrace(response.getWriter());

126      throw new ServletException(e);

127     }

2.12缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02460.java中第105行。

    缺陷说明:在(BenchmarkTest02460.java)文件第(105)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

103     } catch (javax.crypto.BadPaddingException e) {

104      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

105      e.printStackTrace(response.getWriter());

106      throw new ServletException(e);

107     } catch (java.security.InvalidKeyException e) {

2.13缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00254.java中第115行。

    缺陷说明:在(BenchmarkTest00254.java)文件第(115)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

113     } catch (java.security.InvalidKeyException e) {

114      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

115      e.printStackTrace(response.getWriter());

116      throw new ServletException(e);

117     } catch (java.security.InvalidAlgorithmParameterException e) {

2.14缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00005.java中第97行。

    缺陷说明:在(BenchmarkTest00005.java)文件第(97)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

95     } catch (javax.crypto.IllegalBlockSizeException e) {

96      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

97      e.printStackTrace(response.getWriter());

98      throw new ServletException(e);

99     } catch (javax.crypto.BadPaddingException e) {

2.15缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02103.java中第100行。

    缺陷说明:在(BenchmarkTest02103.java)文件第(100)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

98     } catch (javax.crypto.IllegalBlockSizeException e) {

99      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

100      e.printStackTrace(response.getWriter());

101      throw new ServletException(e);

102     } catch (javax.crypto.BadPaddingException e) {

2.16缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00050.java中第112行。

    缺陷说明:在(BenchmarkTest00050.java)文件第(112)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

110     } catch (java.security.InvalidAlgorithmParameterException e) {

111      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

112      e.printStackTrace(response.getWriter());

113      throw new ServletException(e);

114     }

2.17缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01100.java中第109行。

    缺陷说明:在(BenchmarkTest01100.java)文件第(109)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

107     } catch (javax.crypto.IllegalBlockSizeException e) {

108      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

109      e.printStackTrace(response.getWriter());

110      throw new ServletException(e);

111     } catch (javax.crypto.BadPaddingException e) {

2.18缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01481.java中第107行。

    缺陷说明:在(BenchmarkTest01481.java)文件第(107)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

105     } catch (java.security.InvalidKeyException e) {

106      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

107      e.printStackTrace(response.getWriter());

108      throw new ServletException(e);

109     } catch (java.security.InvalidAlgorithmParameterException e) {

2.19缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01901.java中第103行。

    缺陷说明:在(BenchmarkTest01901.java)文件第(103)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

101     } catch (javax.crypto.IllegalBlockSizeException e) {

102      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

103      e.printStackTrace(response.getWriter());

104      throw new ServletException(e);

105     } catch (javax.crypto.BadPaddingException e) {

2.20缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01320.java中第116行。

    缺陷说明:在(BenchmarkTest01320.java)文件第(116)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

114     } catch (java.security.InvalidAlgorithmParameterException e) {

115      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

116      e.printStackTrace(response.getWriter());

117      throw new ServletException(e);

118     }

2.21缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01898.java中第111行。

    缺陷说明:在(BenchmarkTest01898.java)文件第(111)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

109     } catch (java.security.InvalidAlgorithmParameterException e) {

110      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

111      e.printStackTrace(response.getWriter());

112      throw new ServletException(e);

113     }

2.22缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02022.java中第91行。

    缺陷说明:在(BenchmarkTest02022.java)文件第(91)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

89     } catch (javax.crypto.NoSuchPaddingException e) {

90      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

91      e.printStackTrace(response.getWriter());

92      throw new ServletException(e);

93     } catch (javax.crypto.IllegalBlockSizeException e) {

2.23缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02296.java中第122行。

    缺陷说明:在(BenchmarkTest02296.java)文件第(122)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

120     } catch (java.security.InvalidKeyException e) {

121      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

122      e.printStackTrace(response.getWriter());

123      throw new ServletException(e);

124   //  } catch (java.security.InvalidAlgorithmParameterException e) {

2.24缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02290.java中第105行。

    缺陷说明:在(BenchmarkTest02290.java)文件第(105)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

103     } catch (java.security.NoSuchProviderException e) {

104      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

105      e.printStackTrace(response.getWriter());

106      throw new ServletException(e);

107     } catch (javax.crypto.NoSuchPaddingException e) {

2.25缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00854.java中第110行。

    缺陷说明:在(BenchmarkTest00854.java)文件第(110)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

108     } catch (javax.crypto.BadPaddingException e) {

109      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

110      e.printStackTrace(response.getWriter());

111      throw new ServletException(e);

112     } catch (java.security.InvalidKeyException e) {

2.26缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01400.java中第112行。

    缺陷说明:在(BenchmarkTest01400.java)文件第(112)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

110     } catch (java.security.InvalidKeyException e) {

111      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

112      e.printStackTrace(response.getWriter());

113      throw new ServletException(e);

114     }

2.27缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02020.java中第100行。

    缺陷说明:在(BenchmarkTest02020.java)文件第(100)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

98     } catch (javax.crypto.NoSuchPaddingException e) {

99      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

100      e.printStackTrace(response.getWriter());

101      throw new ServletException(e);

102     } catch (javax.crypto.IllegalBlockSizeException e) {

2.28缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01317.java中第93行。

    缺陷说明:在(BenchmarkTest01317.java)文件第(93)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

91     } catch (java.security.NoSuchAlgorithmException e) {

92      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

93      e.printStackTrace(response.getWriter());

94      throw new ServletException(e);

95     } catch (javax.crypto.NoSuchPaddingException e) {

2.29缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02373.java中第105行。

    缺陷说明:在(BenchmarkTest02373.java)文件第(105)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

103     } catch (java.security.InvalidKeyException e) {

104      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

105      e.printStackTrace(response.getWriter());

106      throw new ServletException(e);

107     } catch (java.security.InvalidAlgorithmParameterException e) {

2.30缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01976.java中第124行。

    缺陷说明:在(BenchmarkTest01976.java)文件第(124)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

122     } catch (java.security.InvalidAlgorithmParameterException e) {

123      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

124      e.printStackTrace(response.getWriter());

125      throw new ServletException(e);

126     }

2.31缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00058.java中第101行。

    缺陷说明:在(BenchmarkTest00058.java)文件第(101)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

99     } catch (javax.crypto.IllegalBlockSizeException e) {

100      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

101      e.printStackTrace(response.getWriter());

102      throw new ServletException(e);

103     } catch (javax.crypto.BadPaddingException e) {

2.32缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/helpers/Utils.java中第80行。

    缺陷说明:在(Utils.java)文件第(80)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

78       out.close();

79      } catch (FileNotFoundException e) {

80       e.printStackTrace();

81      }

82     }

2.33缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01103.java中第122行。

    缺陷说明:在(BenchmarkTest01103.java)文件第(122)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

120     } catch (java.security.InvalidAlgorithmParameterException e) {

121      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

122      e.printStackTrace(response.getWriter());

123      throw new ServletException(e);

124     }

2.34缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest01481.java中第103行。

    缺陷说明:在(BenchmarkTest01481.java)文件第(103)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

101     } catch (javax.crypto.BadPaddingException e) {

102      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

103      e.printStackTrace(response.getWriter());

104      throw new ServletException(e);

105     } catch (java.security.InvalidKeyException e) {

2.35缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00443.java中第123行。

    缺陷说明:在(BenchmarkTest00443.java)文件第(123)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

121     } catch (java.security.InvalidAlgorithmParameterException e) {

122      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

123      e.printStackTrace(response.getWriter());

124      throw new ServletException(e);

125     }

2.36缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00610.java中第109行。

    缺陷说明:在(BenchmarkTest00610.java)文件第(109)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

107     } catch (javax.crypto.NoSuchPaddingException e) {

108      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

109      e.printStackTrace(response.getWriter());

110      throw new ServletException(e);

111     } catch (javax.crypto.IllegalBlockSizeException e) {

2.37缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/score/BenchmarkScore.java中第366行。

    缺陷说明:在(BenchmarkScore.java)文件第(366)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

364           } catch ( IOException e ) {

365               System.out.println ( "Error updating results table in: " + f.getName() );

366               e.printStackTrace();

367           }

368

2.38缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest02374.java中第89行。

    缺陷说明:在(BenchmarkTest02374.java)文件第(89)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

87     } catch (java.security.NoSuchAlgorithmException e) {

88      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

89      e.printStackTrace(response.getWriter());

90      throw new ServletException(e);

91     } catch (javax.crypto.NoSuchPaddingException e) {

2.39缺陷发生位置:在文件Benchmark/Benchmark-1.2beta/src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00857.java中第113行。

    缺陷说明:在(BenchmarkTest00857.java)文件第(113)行调用方法[printStackTrace]打印异常信息,返回到页面的错误信息有可能会暴漏用户敏感信息,建议将错误的详细信息打印到日志文件中,返回到页面的信息是对应错误的编码或其它字符串信息。

代码片段:

111     } catch (javax.crypto.NoSuchPaddingException e) {

112      response.getWriter().println("Problem executing crypto - javax.crypto.Cipher.getInstance(java.lan

113      e.printStackTrace(response.getWriter());

114      throw new ServletException(e);

115     } catch (javax.crypto.IllegalBlockSizeException e) {

500多页,还仅仅是致命和严重缺陷,省略了,如果想要全部,联系我。

(完)

最强代码审查工具报告相关推荐

  1. 代码审查工具 sonarqube 简介

    目录 1. 什么是SonarQube? SonarQube的功能 1.糟糕的复杂度分布 2.重复 3.缺乏单元测试 4.没有代码标准 5.没有足够的或者过多的注释 6.潜在的bug 7.糟糕的设计(原 ...

  2. 20最佳代码审查工具-专门为开发人员准备

    程序员总是面临最后期限的压力和很多延误软件设计相当不稳定,整个产品是不稳定的.这种不稳定性的设计软件的原因是,它是不能正常测试.来的工作代码审查工具.的代码审查工具可以帮助web开发人员指出他们哪些区 ...

  3. 【报告分享】2020中国民营企业500强调研分析报告-全国工商联(附下载)

    今天给大家分享的是  2020中国民营企业500强调研分析报告-全国工商联 2020中国民营企业500强调研分析报告-全国工商联 "行业报告智库"查看完整或下载更多报告 2020- ...

  4. 能攻破所有安卓设备 最强Root工具诞生 万能一键Root

    下载地址: http://yunpan.cn/QhwthQzttEpWt (提取码:2343) 你是不是在刷机的时候经常碰到无法Root的机型,有时候不得不等待Root工具更新之后才能使用.现在这一切 ...

  5. 网络最强CASE工具 + 经典UML学习电子资下载汇总

    网络最强CASE工具 + 经典UML学习电子资下载汇总,软件设计与开发人员必备 http://club.topsage.com/forum.php?mod=viewthread&tid=149 ...

  6. 微软“最强自动化工具”playwright实战项目

    微软"最强自动化工具"playwright实战项目 近期微软推出了一款号称"最强"的自动化测试工具,网上便出现了大批讲解文章,一看全是github上的reade ...

  7. 哪个版本android优化触屏,安卓界最强优化工具超级触控,终于更新了全新体验...

    原标题:安卓界最强优化工具超级触控,终于更新了全新体验 安卓用户对于"系统优化"这个词一定不会陌生,因为Android系统越用越卡的毛病难以解决,必须进行优化才能保持流畅.那么如何 ...

  8. 史上最强网页工具集合-MikuTools

    史上最强网页工具集合 媒体类 其他工具 图片相关 文字处理 编程开发 网站设置 今天给大家推荐一个网页版工具集合 MikuTools,从视频下载到图片处理再到编程开发,简直就是无所不能. 该工具里面大 ...

  9. c语言源码转流程图工具在线,c语言源码转流程图工具_应用|1+1构造地表最强流程图工具...

    大家知道我是一个"24K资深"通信工程师,所以日常画画拓扑图.信令流程图.产品逻辑图等等都是必备技能,但是苦无Visio久矣,所以每次画图都一个脑袋两个大. 每次不是在Word里就 ...

  10. 最强下载工具IDM使用大全 - 汇总篇

    相关文章阅读: 百度教程 简书教程 csdn文章教程 可点击上述链接查看,也可以跳过而直接阅读下面的文章. 具体原作者文章采集如下: 以下是原文出处: 作者:极简君GK 链接:https://www. ...

最新文章

  1. [转载] 百科全说——何裕民:性格影响疾病(10-12-20)
  2. 自动化生成 Openstack 新项目开发框架
  3. MATLAB实战系列(十四)-如何通过YALMIP和CPLEX求解小规模(CVRP)路径调度问题(附MATLAB代码)
  4. BugkuCTF-Misc:Linux
  5. vscode添加源文件_VSCode自制的IDE编译多个源文件
  6. Linux(RadHat)基础学习—FTP服务
  7. 【转】JAVA 读写二进制文件
  8. UC浏览器如何开启html5,如何开启手机uc浏览器中的极速模式
  9. RPM 包的构建 - SPEC 基础知识-01
  10. 链塔智库联合清华发布《2018区块链技术应用白皮书》
  11. CPU信息查询与CPU测试方法总结
  12. java添加一个复选框_java添加多个复选框控件
  13. 写给大家看的机器学习书【Part3】直观易懂的感知机学习算法PLA
  14. 苹果字体对应font-weight大小
  15. 生产答疑_生产周会和数字例会
  16. 聚划算成清仓专用 问题产品充斥
  17. Scala简介与安装
  18. 软件安全开发生命周期-基础理论
  19. 火狐4.9保存书签不显示_将Firefox书签导入Opera 9.5
  20. 关于智能代还卡系统、聚合支付系统拙见

热门文章

  1. QTableWidget 数据添加与表头设置
  2. Android应用程序四大组件分别是什么?各个组件所起到的作用是什么?
  3. 初中计算机excel考试系统,基于Excel构建计算机考试系统
  4. 基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门
  5. 第二章 工具变量法(IV)与两阶段最小二乘法
  6. 程序化生成(PCG)算法的改进——基于以地学为主的多基础学科
  7. word自动生成目录的最后一个大标题页码前没有点点点连接线解决方案
  8. 马里兰帕克分校计算机科学,马里兰大学帕克分校管理信息系统(MIS)专业详解...
  9. PHP一句话木马,中国菜刀
  10. 汽车的android怎么使用方法,汽车安卓投屏怎么用 其实投屏方法很简单