最强代码审查工具报告

今天给大家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多页,还仅仅是致命和严重缺陷,省略了,如果想要全部,联系我。

(完)

 

 

你可能感兴趣的:(代码安全)