2017-08-02 16 views
0

私はカスタマイズ例外プライバシー違反の脆弱性問題

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

静的コード分析ツール(強化)については、以下のコンストラクタを持っているが、コードのこの部分の脆弱性の問題を識別する。 fortifyで指定されたメッセージは です。 "CoException.javaのCoException()メソッドは、機密情報を誤って処理するため、ユーザーのプライバシーを侵害し、多くの場合違法です。

問題がどこで解決されているか教えてください。

+1

10分以内に基本的に同じトピック(プライバシー侵害の強化)について2つの質問を投稿したのはなぜですか? – Thomas

+2

あなたは私たちに 'CoException(String)'メソッドではなく 'CoException()'メソッドであることを示しているので、誰でもあなたの質問に現実的に答えることはできません。 – JonK

+0

@トーマス以前の質問には2つの問題がありますが、コードはほぼ同じですが、ここではコードは異なりますが、私はその質問を長くしたくありませんでした。 –

答えて

2

ツールが作るdata flow analysis

  • 着信:String errorMessage - どのようなエラーメッセージが攻撃者にとって興味深い情報が含まれているだろうか?考えさせて。 ログインに失敗しました:ユーザー=管理者pwd = 123456は確かに内部的に保持する必要があります。

  • 発信:super(errorMessage);CoDebugger.debugException(errorMessage, this);からdebugException方法は何?ユーザーにエラーメッセージを直接表示しますか?それは起こるべきではありません。または、特定の条件(例えば、間違った.htaccess構成)によって、ユーザーがアクセスできるログファイルにエラーメッセージを書き込むかどうかです。それはもちろん起こらないはずです。

+0

CoDebugger.debugException(errorMessage、this)はエラーメッセージを記録します。これは例外を記録するために "catch"ブロック内のアプリケーションを通して使用されています。その脆弱性の問題だと思いますか?はいの場合、例外をキャッチするときにどのようにログを記録するべきですか? –

+1

保護される着信データと攻撃者がアクセス可能な発信データの両方の条件が満たされている場合にのみ問題になります。 (例えば、ログイン失敗: "+ name +"/"FooException("ログインに失敗しました ")の代わりに、新しいFooExceptionをスローする+ pwd); ')。 – howlger