2016-09-25 21 views
0

一個Web應用程序具有刪除按鈕。一旦點擊該Web應用程序首先執行GET請求,它將使用令牌密鑰返回POST表單。 詢問是或否,資源被刪除。CSRF攻擊 - 同一頁上的GET和POST請求

我如何才能實現CSRF攻擊?我可以提交隱藏在iframe中的第一個請求,但我需要該令牌來提交第二個POST請求。

Ajax由於CORS而失敗。

那麼,它甚至有可能在一個頁面

  1. 發送GET請求
  2. 解析響應,並得到令牌
  3. 提交POST形式令牌觸發CSRF上

回答

0

我認爲這是基本上是針對CSRF的標準保護,在頁面生成(GET)時生成一個標記,並且在提交(POST)時驗證它實際上改變了應用程序狀態(刪除了您的案例中的對象) 。所以在概念上它對我來說很好。

雖然惡魔在細節中。如何生成令牌(使用什麼算法和/或隨機生成器,它有多少熵)以及它如何驗證?它存儲在某個地方還是無狀態?你什麼時候生成一個新的令牌?你什麼時候重用一箇舊的令牌?這些都是一些在防止CSRF時必須考慮的問題。

想到您的方案的一個特殊問題是確認頁面是否包含有關將執行的操作的所有詳細信息。一個簡單的「你確定嗎?」我認爲你的情況不夠充分。

+0

GET之後,客戶端沒有發送任何內容,但響應中包含服務器生成的不服從X-CSRF頭的令牌。我需要抓住並重新發送。我們需要抓住第一個GET的源頭並找到令牌 – ahelpyguy