こんにちは、私のプロジェクトで Veracode が XSS の問題 CWE ID 80 を報告しました。
@RequestMapping(value = "/Update.mvc")
public @ResponseBody String execute(@ModelAttribute UpdateForm updateForm, BindingResult result,
HttpServletRequest request, HttpServletResponse response) throws ActionException {
return executeAjax(updateForm, request, response, result);
}
では、executeAjax は抽象クラスに由来し、異なる実装を持っているのでしょうか? これらの実装では、フォームからのユーザー入力が取得され、返される文字列を構築するために操作されます。
私の質問は次のとおりです。Veracodeの前提は、実装でXSSを使用できるということですか? それとも一般的なもの?- どうすればこれを防ぐことができますか? 私は常に入力データの変換を使用していますが、ユーザーが入力しても返されませんか? -では、それを防ぐには?- すべてのヘッダー/リクエスト パラメータを HttpServiceRequest からエスケープする必要がありますか?
編集: 次 のようなフィルターを使用する必要がありますか: SecurityWrapperRequest