我有自定义异常的下面构造函数
public CoException(String errorMessage) {
super(errorMessage);
CoDebugger.debugException(errorMessage, this);
}
静态代码分析工具(fortify)可识别此部分代码中的漏洞问题。 强化给出的信息是 “CoException.java中的方法CoException()错误处理机密信息,这可能会损害用户隐私,而且通常是非法的。”
请告诉我问题在哪里以及如何解决。
答案 0 :(得分:2)
该工具生成data flow analysis:
传入: SELECT picid, description
FROM product_series
INNER JOIN RelatedItems ON newseries = relatedseries;
- 哪些错误消息可能包含针对攻击者的有趣信息?让我想想。 登录失败:user = admin pwd = 123456 当然应该保留在内部。
传出: String errorMessage
和super(errorMessage);
- debugException 方法是什么?它是否直接向用户显示错误消息?这不应该发生。或者是将错误消息写入日志文件,该日志文件在某些条件下(例如,通过不正确的 .htaccess 配置)可以被用户访问。当然,这也不会发生。