私はたくさん読んだ:
ただし、エンドポイント( "/ graphql")がこのタイプの攻撃に対して保護されているかどうか、または次のようなソリューションで保護する必要があるかどうかはまだわかりません: https://github.com/ expressjs/csurf 。
私には明確ではないことは、ここにあります: https://github.com/pillarjs/understanding-csrf 彼らは言う:
CSRFトークンを誤って使用している場合:...それらをJSONに追加するAJAX呼び出し上記のように、CORSをサポートせず、APIが厳密にJSONである場合は、まったく意味がありません。 AJAX呼び出しにCSRFトークンを追加します。
エンドポイントをContent-Type: application/json
のみを使用するように制限すると、安全ですか?
エンドポイントを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 =
この回答も関連しています: JSON WebサービスはCSRF攻撃に対して脆弱ですか?