TOP設計・移行・活用> 価格等の改ざん
脆弱なWebアプリケーション
脆弱なWebアプリケーション

第1回:Webアプリケーションの脆弱性
著者:セントラル・コンピュータ・サービス  長谷川 武
2005/4/20
前のページ  1  2  3   4  次のページ
価格等の改ざん

   Webサイトのコンテンツは、複数のページの連鎖によりユーザとシステムの間の一連の会話を実現している。こうしたページの連続の中で、あるページから次のページへ遷移する際、ページの中にユーザには見えない「hidden」フィールドという形でパラメータを埋め込み、次のページへ受け渡すようになっていることがある。

   ところが、ブラウザの画面に表示されていなくても、ページ内にどのようなパラメータが埋め込まれているかをユーザが調べることはとても簡単にできる。そしてこれらの隠しパラメータが改ざんされて、ショッピングサイトが被害を受けることがあるのである。

ページ間パラメータ
図4:ページ間パラメータ



ファイルの誤った公開

   Webサーバはインターネットに接続しているため、特に限定されたファイルのみを公開するよう設定しておく必要があるが、公開されては具合の悪い秘密情報を含んだファイルが誤って公開されてしまうことがある。

   ファイルの誤った公開はいくつかの異なるミスが原因となる。もともとインターネットに公開されているディレクトリにファイルが置かれていることに気づいていないといううっかりしたものや、サーバに保守作業が入った拍子にファイルの保護が外れてしまった、といったものがある。


HTTPレスポンス分割

   これは比較的新しく見つかった問題である。偽ページを多数の人々に見せることができる攻撃手口で、フィッシング詐欺に悪用されることが心配されている。この攻撃は、HTTPプロトコルの通信フォーマットに干渉して、サーバがひとつの応答(HTTPレスポンス)しか返してきていないのに、そこにもうひとつ別の応答が返ってきているかのように見せかけるものである。

HTTPレスポンスが分割される
図5:HTTPレスポンスが分割される
(画像をクリックすると別ウィンドウに拡大図を表示します)


   この偽の応答を有名なURLによるリクエストと対応づけてプロキシサーバに記憶させておくと、そのプロキシ経由でインターネットへアクセスする人々は全員偽のページを見せられることになる。

   なぜ余分なHTTPレスポンスを作り出せるかというと、ここでも入力データをそのままおうむ返しに出力するプログラムが利用される。プログラムが行う応答の一部として、HTTPレスポンスのヘッダ部に「Location:」や「Set-Cookie:」といった出力を行うプログラムが悪用され、その箇所以降のHTTPレスポンスの形を変えてしまうよう仕向けられるのである。

   同様なおうむ返しの問題としては、先に挙げたクロスサイトスクリプティングがある。両者の違いは、クロスサイトスクリプティングではHTTPレスポンスパケットのボディ部にHTML出力を行うプログラムが狙われるのに対して、HTTPレスポンス分割はHTTPレスポンスパケットのヘッダ部に出力を行うプログラムが狙われる点である。


SQLインジェクション

   Webサーバの背後にあるデータベースサーバにインターネットから直接干渉されてしまう問題である。

   Webアプリケーションの多くは、処理を実行している主要なプログラミング言語とは別にSQLという言語を用いてデータベースにアクセスする。攻撃者はこのSQLの指令を組み立てている箇所に影響を及ぼして、自分の都合の良いようにデータベースにアクセスする指令を紛れ込ませてしまうのである。

   その結果、秘密データの流出、データの改ざん、データの消去などの問題が起こりうる。この問題は結構恐ろしい。

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


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


INDEX
第1回:Webアプリケーションの脆弱性
  脆弱性
  Webアプリケーションの脆弱性
価格等の改ざん
  セッション管理の不備