我们有一个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应用程序(我应该压力测试?)