我的自定义异常具有以下构造函数

public CoException(String errorMessage) {
    super(errorMessage);
    CoDebugger.debugException(errorMessage, this);
}


静态代码分析器工具(fortify)可以识别此部分代码中的漏洞问题。
强化给出的信息是
“ CoException.java中的CoException()方法处理不正确的机密信息会损害用户的隐私,而且通常是非法的。”

请让我知道问题出在哪里以及如何解决。

最佳答案

该工具生成一个data flow analysis


传入:String errorMessage-哪些错误消息可能包含攻击者感兴趣的信息?让我想想。登录失败:user = admin pwd = 123456当然应该在内部保留。
输出:super(errorMessage);CoDebugger.debugException(errorMessage, this);-debugException方法是什么?它是否直接向用户显示错误消息?那不应该发生。或者将错误消息写入日志文件,在某些情况下(例如通过错误的.htaccess配置),用户可以访问该错误消息。当然,那也不应该发生。

10-07 20:04