<%
String ref = request.getParameter("ref");
response.sendRedirect(ref);
%>
パラメータrefはURLではっきりと見えると、誰もがそれを編集することができます。 OWASPのセキュリティ基準によれば、このコードはXSS攻撃に対して脆弱です。 OWASP: この脆弱性は、ユーザーを悪意のあるサイトにリダイレクトすることによって、フィッシング詐欺の一部として使用される可能性があります。妥当性チェックが適用されない場合、悪意のあるユーザーはハイパーリンクを作成して、ユーザーを未検証の悪意のあるWebサイトにリダイレクトする可能性があります。
私の場合、これはログアウトページでのみ使用されています。そして、いずれの場合でも、悪意のあるユーザーは、他のユーザーのセッションに対してこのパラメーターを制御することはできません。また、この変数の値はユーザー入力によって制御されていません。
これがまだXSSの脆弱性であるかどうかご意見をお聞かせください。
あなたはrequestDispatcherを使うことができます –
この場合、XSSの問題を取り除く際にどのように役立つか分かりません。とにかく、入力のおかげで、私の質問は、私が言及したシナリオは本当にXSSの脆弱性かどうかですか? –
"いずれの場合でも、悪意のあるユーザーは他のユーザーのセッションでこのパラメーターを制御できません" - 攻撃者がユーザーにリンクを(電子メールなどで)送信しないようにするにはどうすればよいですか? – Quentin