flash を使えば外部 javascript を読み込めると聞きました。

※flash と javascript が同じドメインの場合

そこで、script タグが使えないブログで、flash を経由して javascript を読み込みたいと考えています。

パラメータで URL を渡せば対象 javascript を読み込んでくれるような、フリーで利用できる簡単な swf ファイルをご存知でしたら教えていただけると助かります。

どうぞよろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/10/17 12:36:55
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226

ポイント53pt

Flash経由で外部のJavascriptが実行できる(=XSSが可能)というのは何かの間違いだと思います。そんなことが出来たらセキュリティが崩壊してしまいます。

JavascriptとFlashのセキュリティモデルには以下のような違いがあります。

  • JavascriptのAJAXでは同一ドメインへのアクセスしか許可されませんが、
  • Flash の場合は相手ドメインに /crossdomain.xml というファイルがあり、かつその中でアクセス元ドメインからのアクセス許可があることを条件として、クロスドメインな通信が可能です。

恐らくこの話と勘違いされているのでは無いでしょうか?

id:yoski

(↓でフォロー頂きありがとうございます)

2007/10/16 22:24:44
id:y-kawaz No.2

回答回数1422ベストアンサー獲得回数226

ポイント26pt

すみません、上では質問に対して少しずれたクロスドメイン関連の話をしてしまいましたね…。

改めて質問を見直したら質問内容を勘違いしていましたので改めて回答してみます。


FlashからJavascriptを読み込めるというのは誤解で、恐らく「Flashは同ページ内で定義されたJavascript関数が実行できる」ということと勘違いされているのではないでしょうか?

確かにFlashは外部Javascriptファイルを(文字列データとして)読み込むことは出来ますが、そのJavascriptをそのページ内で実行することは出来ないと思います。

それが出来てしまうとやはりXSSが実行出ることになってしまいセキュリティ上の問題になります。

id:yoski

回答ありがとうございます。

「Flashは同ページ内で定義されたJavascript関数が実行できる」

としても、例えば Flash で

document.body.appendChild(document.createElement("script").src="hogehoge")

みたいなことは無理ということですね・・・

※蛇足ですが、クロスドメイン(JSONPみたいなの) = XSS 脆弱性というところがいまいち理解できてません・・

2007/10/16 22:34:01
id:y-kawaz No.3

回答回数1422ベストアンサー獲得回数226

ポイント1pt

クロスドメインというか、yoskiさんがやりたがっている「ページ内で任意のJavascriptを実行する」ということ自体が大きなセキュリティホールになり、そういうことが出来てしまう脆弱性の名前がXSSです。


例えば以下のようなJavascriptを実行させることが出来ればURLはそのままで中身は全く別のサイトを表示させることが出来ます。

 document.body.innerHTML='<iframe style="width:100%;height:100%;border:none;" src="http://www.google.com/"></iframe>';

この例ではGoogleですが、例えばはてなのログイン画面そっくりの偽物サイトを作っておけば、本物のログインフォームと勘違いしてIDとパスワードを入力してしまう人も出てくるでしょうから簡単に他人のIDとパスワードを盗むことができます。

立派なフィッシングサイトのできあがりですよね?


そのような悪事に利用されない為に、どのブログサイトでもユーザが自由にJavascriptを書くことが出来ないようになっているのです。

id:yoski

あぅ「ページ内で任意のJavascriptを実行する」とは一言も書いてません・・・それXSS脆弱性ですよね・・・

「どのブログサイトでもユーザが自由にJavascriptを書くことが出来ない」なんてことありませんよね。

どちらかというと、javascript 使えるところが多いと思います。

他の人に「できるよー」って教えてもらえたので、この質問は終了します。

2007/10/17 12:32:25
  • id:dingding
    >他の人に「できるよー」って教えてもらえたので、この質問は終了します。
    よければ、どんな風にすればそれができるのか、参考サイトなどありましたら教えてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません