2009-04-17 78 views

回答

0

您需要了解CSRF如何完成。深入黑客的思維方式。然後您需要創建執行CSRF的自動化測試。這可能不是一個單元測試(測試一個單元),更像是一個集成測試。當你成功地執行CSRF攻擊 - 當你的測試是紅色的時候 - 你就可以解決這個問題。

查看CSRF FAQ瞭解如何執行攻擊的更多信息。這裏有一篇很好的關於Testing for CSRF的wiki文章,你應該看看。

1

CSRF是一種攻擊,其中用戶被欺騙(例如通過電子郵件中的鏈接)代表攻擊者執行操作,同時已在您的網站上進行身份驗證。

有幾種方法來減少你應該測試的風險 -

  • GET請求不應該有副作用 - 所有操作只應使用POST請求來完成。攻擊者更難以生成源自用戶的POST請求。
  • 您希望隨機發送一個唯一的每頁字符串給用戶,並在返回服務器時進行檢查。用戶的cookie將在由攻擊者引起的請求中發送,但攻擊者不會知道存儲在表單中的字符串。在.NET中,我認爲你可以使用Viewstate。
  • 對於特別敏感(或攻擊俯臥)行爲或一段時間無操作後,可以通過向用戶請求重複認證

OWASP(由Torbjørn聯)的確是一個很好的資源,它包含更詳細的說明和建議。