JSP で次のように定義された入力タグがあります。
<input type="text" name="transCurrency" maxlength="10" size="10" value="<%=beanUseVec.getValue("transCurrency")%>" />
対応する関数getValue()
は次のように定義されbeanUseVec.java
ています。
public String getValue(String vectK)
{
if(uEnVec != null && uEnVec.containsKey(vectK))
return (String)uEnVec.get(vectK);
else
return "";
}
ファイルのveracodeスキャンを実行すると、次の行に XSS エラーが表示されていることがわかりました。
<input type="text" name="transCurrency" maxlength="10" size="10" value="<%=beanUseVec.getValue("transCurrency")%>" />
<%=beanUseVec.getValue("transCurrency")%>
それは XSS リスクであると指摘しています。通常、JSP の他の XSS リスクには jstl タグを使用しますが、これは POJO 関数ではなく、文字列を返す関数であり、POJO 関数の変数を呼び出す必要があるためc:out
、ここでは使用できないと思います。getValue()
c:out
誰かがこの XSS の問題を取り除く他の方法を提案できますか?