web-dev-qa-db-ja.com

クリックジャッキング攻撃を「配信」する方法は?

ハッカーはどのようにクリックジャッキング攻撃を仕掛けることができますか?

  • ハッカーは「good.com」のWebサイトを操作して元のコードを変更する必要がありますか?
  • ハッカーは「evil.com」ウェブサイトを作成し、「good.com」ウェブサイト上に悪意のあるコードを含む透明なレイヤーを置くだけですか?
  • ハッカーはクライアント側でコードを変更しますか?
5
Bob

攻撃者がユーザーにvictim.comをクリックすることを望んでいるとします。

このため、彼らはiframeをどこかに-どこでも-犠牲者がそれを見ることになる場所に置く必要があります。配置場所や配置方法は問題ではありません。

これは必須ではありませんが、特にマルチクリック攻撃で悪用される可能性が高くなるため、攻撃者はここでJavaScriptを実行することもできます(マウスポインターを「追跡」して、クリックが確実に行われるようにすることができます)被害者のウェブサイトの希望する位置に)。

攻撃者が被害者にiframeを配信できると私が考える方法は次のとおりです。

  • 攻撃者はgood.comというWebサイトをハイジャックし、被害者がアクセスすることを知っています。これはさまざまな方法で発生する可能性があります。ウェブサイトでiframeの作成が許可されている、または攻撃者がサーバーを侵害している
  • 攻撃者は独自のWebサイトevil.comを作成し、その上にClickJackingペイロードを配置して、被害者にリンクを送信することでアクセスさせます。
  • メール:一部のメールクライアントはHTMLコード(のサブセット)を表示する場合があります(ただし、これは実際には最初のポイントのサブカテゴリにすぎません)。
  • 攻撃者はvictim.comにiframeを配置できる可能性があります。これが事実である場合、問題はおそらくClickJacking(少なくともHTMLインジェクション、おそらくXSS)を超えています。
  • 攻撃者は、転送(mitm)またはクライアント側で配信されたHTMLを変更して、iframeを挿入する可能性があります。しかし、これが可能であれば、ClickJackingよりもはるかに大きな影響があります。

ClickJackingペイロードがどのように見えるかの非常に単純な例を次に示します。

// placed anywhere, eg http://evil.com/clickjacking.html
<div style="position: absolute; left: 50px; top: 50px; pointer-events: none;">
    Click Me!
</div>
<iframe style="opacity: 0;" height="500" width="600" scrolling="no" src="http://victim.com/vulnerable.html>
</iframe>

したがって、攻撃者がvictim.comのHTMLを変更する必要はありません(ソース側でもクライアント側でも)。

6
tim