TOP設計・移行・活用> hiddenフィールド
脆弱なWebアプリケーション
脆弱なWebアプリケーション

第3回:パラメータからの情報流出
著者:セントラル・コンピュータ・サービス  長谷川 武
2005/5/11
前のページ  1  2  3   4  次のページ
hiddenフィールド

   「hidden」フィールドはフォームの項目であって、ブラウザの画面には描画されない特殊なものである。hiddenフィールドは、ユーザがその値を目にすることを意図しておらず、あるページから次のページにパラメータを受け渡すことのみを目的として使われる。
hiddenフィールドのあるページ(本来は見えない)
図4:hiddenフィールドのあるページ(本来は見えない)



hiddenフィールドは実は「見えている」

   ただし、ブラウザのHTMLソース表示機能を使えば、現在のページにどのようなhiddenフィールドが隠されているかを知ることは容易であり、秘密を守ることはできない。

hiddenフィールドのあるページのソース
図5:hiddenフィールドのあるページのソース



hiddenフィールドの改ざん

   hiddenフィールドの値は簡単に改ざんできる。攻撃者はHTMLソースをローカルファイルに保存して内容を書き換えるのである。このときひとつポイントがある。多くの場合相対パス表現になっている<form>タグのaction属性を、「http:」あるいは「https:」から始まるフルパス表現のURLに書き換えることだ。

   このようにして用意したHTMLファイルを本来のページを閲覧していたブラウザのウィンドウ上にドラッグ&ドロップしてフォームを送信すれば、本来のものとは異なった値のフォームデータが送り込まれる。

hiddenフィールドの改ざん
図6:hiddenフィールドの改ざん


   hiddenフィールドに持たせていた商品の価格が改ざんされることを想定していなかったWebサイトは、不正な価格での買物をユーザに許してしまうことになる。くれぐれも他者が運営するWebサイトでお試しにならないように。


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


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


INDEX
第3回:パラメータからの情報流出
  はじめに
  システム全体に渡る連番
hiddenフィールド
  HTTP Cookie