web-dev-qa-db-ja.com

ログインページでクリックジャッキング保護のみを提供しても大丈夫ですか?

クリックジャッキングについて質問があります。

質問は非常に簡単です。次のようなログインフローを想像してください。

  1. https://example.com/login.html などのアプリケーションログインページにアクセスします。クリックジャッキング保護はありません(つまり、X-Frame-Options header)このページ。
  2. このページは、実際にログインするためのSSOページにリダイレクトします。 https://sso.service.com と実際の認証情報がここに入力されます。ここではクリックジャッキング保護が有効になっています。
  3. ログインすると、サイト https://example.com/home.html にリダイレクトされます。サイトのどこにもクリックジャッキング保護はありません。

私の質問は、ログイン/ SSOページのみを保護していて、アプリケーションの他のページは保護していない場合でも、アプリケーションはクリックジャッキングに対して脆弱ですか?

1
Bhuvanesh Kumar

答えは単純明快です。

ログインページでのみクリックジャッキング保護を設定すると、ログインページのみが保護されます。サイトの残りの部分は依然として脆弱です

少し誤解されているようですが、ログインページがクリックジャックで保護されているため、誰かがクリックジャックを使用してサイトを攻撃できないことを期待しています。残念ながらそうではありません。クリックジャッキング(通常)は、すでにログインしているユーザーの資格情報の使用に依存しています。その結果、クリックジャッキングでログインページをターゲットにする必要はありません。むしろ、デリケートなアクションを行う他のページをターゲットにしています。

実際、ログインページはおそらくクリックジャッキング保護が必要なページのリストの下位にあります。その理由は、クリックジャックを使用してパスワードを入力することはできず、それが可能であったとしても、攻撃者がユーザーのパスワードを知ってログインすることはできないからです。ブラウザーがパスワードを保存し、それを自動的に提案する場合、ログインページでクリックジャッキングを使用してユーザーにログインし、サイトの別のアクションに対するクリックジャッキング攻撃を追跡して、複数のクリックジャッキングからエクスプロイトを構築することが可能です。攻撃。ただし、一般に、ログインページに対してクリックジャッキングを使用すること自体は、おそらく興味深いターゲットではありません。

結果として、あなたはかなり後方に物事を持っています:あなたがすべてしかしあなたのログインページがクリックジャッキングから保護されていれば、おそらく大丈夫でしょう。 onlyクリックジャックからログインページを保護している場合、クリックジャック保護は役に立ちません。

1
Conor Mancone