IOSアプリがRuby on Rails JSONを使用してWebサイトと通信するようにしています。ユーザーセッションを作成するためにログインを投稿するときに、 CSRFトークンが欠落していることを発見しました。それが何なのかまったくわからなかったので、それを調べ始めたところ、呼び出し形式が「application/json」の場合にCSRF保護を削除するといういくつかの解決策が見つかりました。そのようにウェブサイトは脆弱なままですか?
JSフォームに同じ問題があるという結果が出ました。そこでの答えは、CSRFトークンに追加することでした。調べたところ、ページヘッダーのメタコンテンツタグにあるように見えます。
だからこれは私を混乱させます、ここに私の質問があります:
CSRF攻撃の仕組みの概要は次のようになります。
CSRFトークンを実装する方法はいくつかありますが、状態を変更するURL Xへの単純なGETリクエストは、追加の変更情報(トークン)が含まれていない限り機能しないと考えています。 「X?token = 123123213」である必要があります。トークンはかなり頻繁に変更されるため、上記のステップ2は機能しません。攻撃者になろうとする者は、現在のトークンを知りません。
あなたの質問1-攻撃者はページXのコンテンツを表示せず、ページにアクセスするよう強制するだけです。
あなたの質問2-これはすでにログインしたときのアクションに関するすべてであるため、ログインページでCSRF保護を使用しないことは多かれ少なかれ問題ありません。ただし、他のユーザーとしてログインするよう強制され、気付かない可能性があります。
http://en.wikipedia.org/wiki/Cross-site_request_forgery
問題のより一般的なクラスは http://en.wikipedia.org/wiki/Confused_deputy_problem です。