我读了很多东西:
但是,我还无法了解我们的端点(“ / graphql”)是否受到这种攻击的保护,或者是否有必要使用诸如https://github.com/expressjs/csurf这样的解决方案来保护它。
我不清楚的是,这里:https://github.com/pillarjs/understanding-csrf他们说:
当您错误地使用CSRF令牌时: ... 将它们添加到JSON AJAX调用中 如上所述,如果您不支持CORS并且您的API严格来说是JSON,那么将CSRF令牌添加到您的AJAX调用中绝对没有意义。
如果我们限制端点仅使用Content-Type: application/json
,我们安全吗?
答案 0 :(得分:3)
如果我们限制端点仅使用Content-Type:application / json 我们安全吗?
JSON无法抵抗CSRF攻击(但需要为攻击者做些额外的工作),并且通过扩展,如果配置不当,GraphQL也不会。如果将其细分为请求/响应,则CSRF的通常情况将在此处适用:
在这种情况下,您的服务容易受到CSRF的攻击。确保将CORS配置为仅允许来自受信任域的白名单的请求,并确保正在使用CSRF令牌。实施多种保护措施将降低成功攻击的风险。
以下链接更加详细,您甚至可以自己尝试: https://blog.appsecco.com/exploiting-csrf-on-json-endpoints-with-flash-and-redirects-681d4ad6b31b