防止对WCF服务的CSRF攻击

时间:2016-05-16 10:18:27

标签: wcf token csrf

如何防止对我的公共WCF soap服务进行任何可能的CSRF攻击?

我知道主要解决方案是使用CSRF令牌,但我如何实现这一目标?

希望有人给我一些想法,或者至少告诉我WCF不能被CSRF攻击。

1 个答案:

答案 0 :(得分:3)

是的,如果您有enabled AJAX support for your service,则CSRF适用于WCF。

一种快速简便的缓解方法是设置检查自定义标头,例如X-Requested-With请求标头。如果没有启用CORS,则无法跨域传递这些头。

为了进一步加强此解决方案,您还可以为每个会话设置一个令牌,然后在标头中也传递它。见this answer。这将缓解浏览器插件(如Flash和Silverlight)中的漏洞,前者曾经遭受过一个错误,该错误允许跨域设置任意标头,否则不应允许。