web-dev-qa-db-ja.com

クロスサイトフラッシュはどのように実行されますか?

OWASPテストガイドでクロスサイトフラッシュについて読みました。 XSSとXSFの違いを知っています。しかし、私が探しているのは、攻撃者がXSF攻撃を実行する方法です。フラッシュファイルのエントリポイントがないため、どのように可能ですか?

3
Anandu M Das

編集:

ユーザーが制御したデータが検証されず、次の関数または変数のいずれかで使用されていない場合、クロスサイトフラッシュが発生します。

loadVariables
loadMovie
getURL
loadMovie
loadMovieNum
FScrollPane.loadScrollContent
Sound.loadSound
NetStream.play
flash.external.ExternalInterface.call
htmlText

つまり、Flashアプリケーションは外部URLを参照する必要があり、それらのURLの場所はユーザー定義のパラメーター(通常はFlash Var)を介して設定されます。

この脆弱性が悪用されるには、被害者は攻撃者が作成した特別に細工されたリンクをクリックする必要があります。このリンクは、たとえばユーザーの資格情報を盗むために、脆弱なFlashアプリケーションを使用します。

同じ起源ポリシーによりFlashスクリプトに制限がある場合でも(Flashの場合は ここ で詳細を読むことができます)FlashはXSS攻撃のベクターです。

このような脆弱性の場合、この demo のように、または website のようにユーザーのエントリを必ずしも必要とせず、巨大なデータベースを管理し、Flash全体を構築しますプレーヤー。

here に対するこのようなXSF攻撃の実例がいくつかあります。

XSF攻撃に関する最も簡単で最良のチュートリアルは これ だと思います。

2
user45139