3

Findbugs でコードを分析したところ、次の警告が報告されました。

サーブレットに反映されたクロス サイト スクリプティングの脆弱性。

コードはそのようなもので、3 行目で警告がスローされます。

String tickName = request.getParameter("ticko");
PrintWriter w = response.getWriter();
w.println("Unable to perform tickonem '" + tickName +"' because no tick with that name is active!"); //this line throws warning.

それの本当の理由とそれを修正する方法は何ですか?

4

2 に答える 2

3

その理由は、ユーザーが提供したデータをエスケープせずに応答に追加することです。これは、ユーザーのブラウザで実行される JavaScript を挿入することに対して脆弱です。このような脆弱性を回避するには、ユーザーが提供したすべてのデータを html エスケープしてから送り返す必要があります。StringEscapeUtilsのように、いくつかの既存のライブラリを使用してエスケープを実行できます。

于 2014-04-06T20:52:21.690 に答える