首页 文章

JSON Web服务是否容易受到CSRF攻击?

提问于
浏览
61

我正在构建一个专门为其请求和响应内容使用JSON的Web服务(即,没有表单编码的有效负载) .

Is a web service vulnerable to CSRF attack if the following are true?

  • 没有顶级JSON对象的任何 POST 请求(例如 {"foo":"bar"} )将被拒绝400.例如,具有内容 42POST 请求将因此被拒绝 .

  • 具有除 application/json 以外的内容类型的任何 POST 请求将被拒绝400.例如,具有内容类型 application/x-www-form-urlencodedPOST 请求将因此被拒绝 .

  • 所有GET请求都是Safe,因此不会修改任何服务器端数据 .

  • 客户端通过会话cookie进行身份验证,Web服务在通过带有JSON数据的POST提供正确的用户名/密码对后为其提供,例如, {"username":"user@example.com", "password":"my password"} .

辅助问题: PUTDELETE 请求是否容易受到CSRF的攻击?我问,因为似乎大多数(所有?)浏览器都不允许HTML表单中的这些方法 .

编辑:添加了第4项 .

编辑:到目前为止,有很多好的评论和答案,但没有人提供过这种Web服务易受攻击的特定CSRF攻击 .

5 回答

相关问题