CSRF可以在API中发生吗?

我们使用的Web应用程序框架内置了对跨站点请求伪造的处理支持.当数据通过浏览器发布到我们的网络服务器时,这很有效.

目前,我们正在开发一个API,其中上传的XML文件由同一个应用程序框架处理.我们的API需要在上载的XML文件中使用唯一标记进行身份验证.由于默认情况下启用了CSRF检测,并且XML文件不包含CSRF令牌,因此我们目前无法通过此API上载任何数据.

但是,我们可以很容易地禁用CSRF检测,但这样安全吗?

here后的一篇文章 – 非常大胆地说 – 以下内容.

It is safe to remove csrf for API calls as the particular vulnerability can only be executed through a web browser.

这是真的?可以通过API发生类似于CSRF攻击吗?

最佳答案 这取决于您如何使用API​​.假设使用API​​的网站容易受到CSRF的攻击,这意味着API也很脆弱.

Wekipedia说

CSRF exploits the trust that a site has in a user’s browser.

为了支持API调用,服务器要求将凭据与每个请求一起发送(或者像摘要,安全句柄,哈希等等).如果凭据存储在应用程序内存中(如移动应用程序),则API不易受CSRF攻击.但是,如果凭据保存在会话或cookie中,则API将暴露给CSRF

点赞