• 締切済み

CSRF対策について

http://www.jumperz.net/texts/csrf.htm このサイトで紹介されている「正しい対策その1」がなぜCSRF対策として有効なのかわかりません。 このような方法をとったとしても、javascriptのXMLHttprequestを使って、リクエストを行い、それに対するレスポンスの中に含まれるであろう、秘密のワンタイムトークンを抽出して、それを含むリクエストを再度GETなりPOSTなりすれば、攻撃が成功してしまうのでは?

みんなの回答

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.2

全くもって勘違いされています サイトA上で動くスクリプトがサイトBの内容をXHRで得ようとしても サイトBが許可のレスポンスを返してくれなければ通信は成立しません 許可か不許可かを決めるのは相手サーバーであって自サーバーではありません それにXSS等は「「CSRF以前の問題」については考えない」 の項目で「CSRF対策を考える上で、非常識的な「CSRF以前の問題」が存在すると考えていては話が先に進まない」とされているではありませんか そのサイトの内容はCSRF対策にのみ焦点を当てたものであって 他の脆弱性による問題は「論外」なのです

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

サイトA上で動くjavascriptは特別な許可を出してもらわない限りサイトBに干渉することはできません XMLHttprequestもそうです、ユーザー以外がXMLHttprequestを使って外部サイトに無理やりアクセスすることはできません そのようなことが起こりうる状況はCSRF以前の問題、つまり論外です

KSnake
質問者

補足

サイトAのサーバ側で設定することで、XMLHttprequestを使ってサイトBのドメインと通信できるようです。 https://sites.google.com/site/nekousaobject/html5/xmlhttprequest-level2nitsuite-1 また、そうでなくてもサイトB内でXSSなどを使うことによって、サイトBへのリクエストを強要することへの対策にはならないのでは?

関連するQ&A

専門家に質問してみよう