私はString
あるLong
とsection
ある二つのパラメータ studentId
を受け入れる方法deleteStudent
を持つRESTコントローラを、持っています。上記のコードcheckmarxについてCheckMarx XSRF攻撃の問題
@RequestMapping(value="/rest/deleteStudent/studentId/{studentId}/section/{section}", method = RequestMethod.DELETE)
public Student deleteStudent(@PathVariable Long studentId, @PathVariable String section){
return studentService.deleteStudent(studentId ,section);
}
このパラメータの値はコードを通って流れ、最終的に、データベースの内容を変更するために使用されるを訴えています。 アプリケーションでは、要求に対する更新されたユーザー認証は必要ありません。これにより、クロスサイトリクエスト偽造(XSRF)が可能になる場合があります。
私は、幸運のセクションでHtmlutils.htmlescape
(春のWebユーティリティから)を試しました。
このチェックマックスの問題を取り除くにはどうすればよいですか?
フィールドがロングタイプの場合、もう1つXSRFとSQLインジェクション攻撃が可能ですか?
固有のcsrfトークンを追加するフィルタを実装しましたが、それでもcsrf攻撃について不平を言います – sar
CSRF保護が適切に機能していることが確かな場合は、偽陽性の可能性があります。あなたが使用しているツールはわかりませんが、保護があることを検出できない場合があります。特に、コードを分析して機能的にテストしていない場合は... – AntoineB
@saurabhどのようなフィルタですか?コードスニペットにアンチcsrfトークンが含まれていません... – yaloner