0

クリックジャッキングとは、ユーザーをだましてクリックしてはならないボタンをクリックさせ、悪意のあるアクションを実行させることです。

私は、マーチャント向けのオプションとして、ウェブサイトに埋め込んで支払いを行うことができる iFrame コンポーネントを提供する製品に取り組んでいます。サインインしたユーザーには、重要なアクションを実行するためにクリックできるボタンが iframe に表示されます。このアクションは、クリックが本当に自分のものである場合にのみ呼び出す必要があります。

たとえば、iFrame の不透明度が 0 に設定されている場合、iFrame のボタンが非表示になるように配置できますが、別の表示ボタンの上に配置できます。したがって、ユーザーはだまされてクリックする可能性があります。

それを防ぐ方法はあると思いますが、それで十分かどうかはわかりません。次のコードは iFrame に入ります。

<script>
  function frameVisible() {
      var has_dimension = $(frameElement).is(':visible');
      var is_visible    = $(frameElement).css('visibility') == 'visible';
      var is_opaque     = $(frameElement).css('opacity') == '1';
      var one_deep      = (parent == top);
      return has_dimension && is_visible && is_opaque && one_deep;
  }
  if (!frameVisible()) {
      $(document.body).hide()
  }
</script>

基本的に、iframe が何らかの方法で隠されている場合、iframe のコンテンツは非表示になり、意図しないクリックが防止されます。

ここで提供されているコードを回避する方法があるかどうかを調べようとしています。

4

1 に答える 1

0

それでは不十分です。

攻撃者は、独自の要素を の上に配置し、ユーザーがクリックして通過できるよう<iframe>に小さな隙間を残すか、ユーザーpointer-events: noneがカバーをクリックして通過できるように設定することができます。

私の知る限り、それを検出する方法はありません。

于 2013-07-02T03:01:28.130 に答える