版权声明:本文为博主原创文章,转载本站文章请注明作者和出处,请勿用于任何商业用途。 https://blog.csdn.net/wutianxu123/article/details/82944397
6.1 异常处理
是否捕获了应用出现的错误并阻止其输出给客户端。
详细的错误输出可能会导致 SQL 查询泄露、程序源代码泄露、物理路径泄露等。(主要是服务器端500错误,会把错误信息返回到客户端,即没有自定义错误页面)
异常处理是否会导致程序流程异常,引发安全问题。
备注:某些异常可能是致命的,但是如果程序捕获了异常,可能会导致程序绕过一些重要的步骤而直接执行后续的操作。
代码示例:
public String xxx() {
try {
………………
} catch(Exception e) {
e.printStackTrace();
return null; //捕获到异常以后不能只是打印出异常,还要进行处理,否则后面的程序可能会出现异常
}
……
}
6.2 硬编码
代码中是否存在内置的敏感信息。如:调试帐号、外部接口帐号/密码、数据加/解密密钥等。
6.3 日志记录敏感信息
应用是否会将用户密码记入日志。
6.4 自定义错误
是否自定义了403、404、500错误页面
代码示例:web.xml文件
<error-page>
<error-code>403</error-code>
<location>/403.html</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.html</location>
</error-page>