2012-04-04 31 views
1

假定用戶在其帳戶上有私人內容。像任何社交網站一樣,當他們瀏覽他們的賬戶時,用戶可以看到很多關於他們的信息。所有這些請求都被標記了嗎?創建模式並標記所有請求並在處理之前檢查它們是否是一個好的理念?任何消化?
做所有基於私人帳戶系統的應用程序tokenise所有請求?是否應爲每個請求包含csrf標記?

P.S. :這是一種可能的攻擊:用戶登錄社交網站(「x」),保持沉默,進入另一個網站(「y」)。網站y有一個按鈕,可以獲取包含用戶最新帖子的x站點的首頁內容。由於用戶被鎖定,數據將顯示...

你將如何爲每個請求設置一個csrf標記機制?設置一箇中間進程,將請求重定向到最終處理頁面(如果其有效的請求)?或...任何其他ideeas?我錯了嗎?我看到錯誤的東西嗎?

在這裏,我問了同樣的問題,並得到了正確的最終答案:https://stackoverflow.com/a/10006276/1284817。這裏驗證的答案也可以閱讀。

回答

0

CSRF令牌通常只附加在代表用戶的事物上(如POST請求)。從觀看私人數據保護攻擊者就簡單多了,確實就在所有流行的瀏覽器是烤:

爲了保護襲擊者觀看私人數據(而不是修改它),你通常會依賴於瀏覽器的same origin policy,並確保你的請求不支持Cross-origin resource sharing

在你的建議攻擊的具體例子中,攻擊者請求example.org/private,瀏覽器將拋出一個異常,看起來像這樣在我的瀏覽器:

XMLHttpRequest cannot load http://example.org/private. Origin http://attacker.com is not allowed by Access-Control-Allow-Origin. 
相關問題