TOP設計・移行・活用> JavaScriptによる偽ページ
脆弱なWebアプリケーション
脆弱なWebアプリケーション

第6回:各種の問題
著者:セントラル・コンピュータ・サービス  長谷川 武
2005/6/2
前のページ  1  2  3   4  次のページ
JavaScriptによる偽ページ

   本物のサイトの本物のページを呼び出しているにもかかわらず、偽の内容が表示されるよう仕向ける手口は他にも存在する。JavaScriptをページの中に送り込むことができれば、本来と異なる内容を閲覧者に見せることができる。たとえば次のスクリプトタグは、現在のコンテンツ表示箇所に別の内容を呼び出してしまうものだ。
<script>document.location=別のページのURL;</script>

   ただし、新しく呼び出されたページのURLがブラウザのアドレスバーに表示されるから、ユーザは本来とは異なる内容が表示されていることに気づくだろう。ところが、そうならない場合もある。それはフレームの中でこの攻撃が行われるケースだ。異なるサーバからの内容が紛れ込んでいても気づかないことが考えられる。

   攻撃のJavaScriptを送り込む手口には、まず「第4回 セッション乗っ取り」で解説した「クロスサイトスクリプティング」がある。また、Webアプリケーションのデータベースにスクリプト文字を保管させておき、その時点では何も起こらないが、このデータを誰かが呼び出した際に悪さをする「セカンドオーダー攻撃」という手口がある。


迷惑メール問題

   Webを閲覧していると、「このサイトをメールでお友達に紹介する」といったページに出くわすことがある。

「このサイトをお友達に紹介してください」ページ
図4:「このサイトをお友達に紹介してください」ページ

   これはユーザ本人以外の誰かに電子メールを送信する機能を持っているページである。その機能が、迷惑メールの送信に悪用される怖れがある。

   この紹介ページは、電子メール送信用CGIを呼び出す次のようなHTMLフォームで構成されていると仮定しよう。

このサイトをお友達にご紹介ください
<form method="post" action="http://domain/mailmail.cgi">
お友達のメールアドレス:
<input type="text" name="to">
あなたのお名前:
<input type="text" name="yourname">
紹介コメント:
<textarea name="yourcomment">
(よろしければあなたからの紹介コメントをここに入力してください)
</textarea>

<input type="hidden" name="from"
value="楽しいサイトのご紹介">
<input type="hidden" name="server"
value="smtp.example.jp">
</form>

   これは、「From:」「To:」「Subject:」など、メールに必要な諸項目をパラメータとして受け取ってメールを送信する、汎用性のあるメール送信プログラムの利用を想定したものだ。

   ところがこのようなWebページがインターネットに露出されていると、攻撃者は次のフォームに相当する内容を送り出す簡単なソフトウェアを用意し、送信元を偽った電子メールを自由に送信する機会を得る。

<form method="post" action="http://domain/mailmail.cgi">
<input type="hidden" name="to"
value="(標的メールアドレス)">
<input type="hidden" name="yourname"
value="(偽りの名前)">
<input type="hidden" name="yourcomment"
value="(受信者を騙すための内容)">
<input type="hidden" name="from"
value="manager@example.jp">
<input type="hidden" name="subject"
value="Re: お問い合わせの件">
<input type="hidden" name="server"
value="smtp.example.jp">
</form>

   宛先をはじめ、各種の項目をパラメータとして受け入れる汎用的なメール送信CGIを利用することは、広告/詐欺/迷惑メールを勝手に発信する道具として第三者に悪用される怖れがあるのである。

前のページ  1  2  3   4  次のページ


セントラル・コンピュータ・サービス株式会社
著者プロフィール
セントラル・コンピュータ・サービス株式会社  長谷川 武
シニア・セキュリティ・スペシャリスト、IPA 非常勤研究員。2002年にはIPA ISEC『セキュア・プログラミング講座』の制作ディレクターをつとめた。これを契機に、現在は勤務先とそのパートナー企業を通じてセキュアプログラミングセミナー/実習/スキル評価テストといった教育サービスを「TRUSNET(R)アカデミー」として提供している。問い合わせE-mail:info@trusnet.com


INDEX
第6回:各種の問題
  はじめに
  Location:ヘッダの組み立て
JavaScriptによる偽ページ
  その他の話題