我們有一個ASP.NET Web表單應用程序,可能容易受到跨站請求僞造(CSRF)攻擊。我們如何開始編寫單元測試來提醒我們這一點?使用NUnit。一些提示或指針會很棒。如何編寫單元測試以測試ASP.NET Web窗體應用程序是否存在CSRF漏洞?
4
A
回答
0
您需要了解CSRF如何完成。深入黑客的思維方式。然後您需要創建執行CSRF的自動化測試。這可能不是一個單元測試(測試一個單元),更像是一個集成測試。當你成功地執行CSRF攻擊 - 當你的測試是紅色的時候 - 你就可以解決這個問題。
查看CSRF FAQ瞭解如何執行攻擊的更多信息。這裏有一篇很好的關於Testing for CSRF的wiki文章,你應該看看。
1
CSRF是一種攻擊,其中用戶被欺騙(例如通過電子郵件中的鏈接)代表攻擊者執行操作,同時已在您的網站上進行身份驗證。
有幾種方法來減少你應該測試的風險 -
- GET請求不應該有副作用 - 所有操作只應使用POST請求來完成。攻擊者更難以生成源自用戶的POST請求。
- 您希望隨機發送一個唯一的每頁字符串給用戶,並在返回服務器時進行檢查。用戶的cookie將在由攻擊者引起的請求中發送,但攻擊者不會知道存儲在表單中的字符串。在.NET中,我認爲你可以使用Viewstate。
- 對於特別敏感(或攻擊俯臥)行爲或一段時間無操作後,可以通過向用戶請求重複認證
OWASP(由Torbjørn聯)的確是一個很好的資源,它包含更詳細的說明和建議。
相關問題
- 1. 如何編寫測試:Socket.io應用程序單元測試
- 2. .NET Web應用程序的安全漏洞測試工具?
- 3. 測試Web應用程序的安全漏洞
- 4. 單元測試ASP.NET應用程序
- 5. 將單元測試添加到現有的asp.net web窗體應用程序
- 6. 如何測試Web應用程序的內存泄漏?
- 7. 如何編寫getPopularItems()的單元測試?
- 8. 我如何編寫測試併發性的Tornado單元測試
- 9. 如何編寫Web應用程序和控件的單元測試
- 10. 可以用3.5 MsTest單元測試程序集編寫測試嗎?
- 11. ASP.NET MVC中的漏洞測試
- 12. 如何編寫單元測試?
- 13. C++ - 是否有可能在單元測試中實現內存泄漏測試?
- 14. 測試單元測試是否存在保存方法
- 15. 如何編寫加密單元測試?
- 16. Grails web應用免費測試工具來測試SQL注入和XSS漏洞
- 17. 單元測試Windows窗體應用程序的建議
- 18. 測試空字節漏洞
- 19. 如何編寫單元測試,測試併發不變
- 20. 如何編寫ASP.NET API集成測試
- 21. 如何寫測試單元
- 22. vue karma,如何編寫單元測試
- 23. 簡單的PHP漏洞測試
- 24. C#winform應用程序安全性漏洞測試工具
- 25. Web應用程序測試
- 26. 瓶禁用CSRF在單元測試
- 27. 爲JavaScript應用程序編寫單元測試
- 28. 在Django/Python中編寫單元測試
- 29. 如何編寫php單元測試來測試堆棧功能?
- 30. 單元測試php應用程序(我應該壓力測試?)