0
我有一個REST控制器,它有一個方法deleteStudent
接受兩個參數 studentId
這是Long
和section
這是String
。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);
}
對於上述代碼checkmarx抱怨此參數值流經代碼並最終用於修改數據庫內容。 該應用程序不需要對請求進行更新的用戶驗證。這可能會啓用跨站請求僞造(XSRF)。
我試過Htmlutils.htmlescape
(來自spring web util)的部分,但沒有運氣。
如何擺脫checkmarx問題?
還有一件事情,如果字段是Long類型,XSRF和SQL注入攻擊是可能的?
我已經實現了添加獨特csrf令牌的過濾器,但它仍然抱怨csrf攻擊 – sar
如果您確定CSRF保護工作正常,那麼它可能是誤報。我不知道你正在使用的工具,但也許它不能夠檢測到有保護,特別是如果它只是分析代碼,而不是功能測試... – AntoineB
@saurabh這是什麼過濾器?你的代碼片段不包含任何反csrf標記... – yaloner