0
我使用彈簧安全爲我的應用程序。在表單中嵌入基於表單的身份驗證w/csrf令牌。用戶通過身份驗證後,會話cookie允許訪問頁面。 我需要在應用程序中防止ajax調用csrf。阿賈克斯調用彈簧安全csrf保護
Spring提供了一個方式,一個令牌可以從服務器發送到客戶端
<head>
<meta name="_csrf" content="${_csrf.token}"/>
<!-- default header name is X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
<!-- ... -->
</head>
此令牌需要被送回使AJAX調用。
var client = rest.chain(csrf, {
token: $("meta[name='_csrf']").attr("content"),
name: $("meta[name='_csrf_header']").attr("content")
});
疑問句:一種可能的攻擊者(在另一個瀏覽器選項卡中的HTML代碼),仍可以從我的應用程序請求整個頁面(這將作爲會話cookie工作將沿W /請求被髮送由瀏覽器自動)。來自服務器的響應將包含csrf標記。現在攻擊者可以使用這個令牌來進行ajax調用。這不會造成安全漏洞嗎?
請提出建議,如果我錯過了某些東西來防止此用例。