如何测试我的wasp.net MVC 3网站是否受到CSRF攻击的保护



我在所有接受用户输入的视图中使用防伪令牌html助手,并在相关的操作方法中使用[ValidateAntiForgeryToken],以防止任何可能的CSRF攻击。但我面临的问题是,如何测试这些代码行是否正常工作,以及它们是否能防止任何可能的攻击。BR

您可以编写一个静态HTML页面,该页面可以托管在任何地方。甚至不需要web服务器,例如可以使用file:///c:/foo.htm。在这个HTML页面中,创建一个简单的<form>,它将包含与您要针对CSRF测试的一些ASP.NET MVC视图相同的输入元素(相同的名称)。表单的action将指向与ASP.NET MVC视图相同的操作。然后提交表单。如果抛出AntiForgeryToken异常,则表示您是安全的。另一方面,如果执行控制器操作,则很容易受到CSRF攻击。

要了解更多关于CSRF的信息,请参阅以下文章。Jeff Atwood也在博客上对此发表了看法

不要指望你会运行一些奇迹般的工具,它会显示绿色或红色的光。如果这样的工具存在,黑客就不会存在,因为所有网站都会受到保护,他们不会有任何东西可以攻击。

确保网站安全的最佳方法是咨询安全专家,由其进行广泛的审计和代码审查。

最新更新