(57)【要約】【課題】ＸＳＳ脆弱性の検査に利用するために、クエリーパラメーター入出力関係の解析を行うこと。【解決手段】追跡可能文字列生成部１３２が、元のクエリーパラメーターの値に基づいてトレース値を生成し、クエリーパラメーター入力再現部１３３がトレース値を用いてクエリーパラメーター入力を再現し、クエリーパラメーター入力が再現された場合に、そのトレース値を用いてクエリーパラメーター出力ページ再現部１３４がページ群情報記憶部１２０に記憶した全ページを対象としてクエリーパラメーターの値を出力するページを検出するよう構成する。なお、クエリーパラメーター入力再現部１３３およびクエリーパラメーター出力ページ再現部１３４は、ページ再現・再現結果検証部１１０を用いてページを再現し、再現結果を検証する。【選択図】        図２
2007183838.tif 000002
【特許請求の範囲】
【請求項１】
利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラムであって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手順
をコンピュータに実行させることを特徴とするクエリーパラメーター出力ページ発見プログラム。
【請求項２】
前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値生成手順により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする請求項１に記載のクエリーパラメーター出力ページ発見プログラム。
【請求項３】
対象とするＷｅｂサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする請求項２に記載のクエリーパラメーター出力ページ発見プログラム。
【請求項４】
前記ページ再現結果検証手順により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値変更手順により変更されたトレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする請求項３に記載のクエリーパラメーター出力ページ発見プログラム。
【請求項５】
前記トレーサ値変更手順は、前記トレーサ値の前後に前記クエリーパラメーター値を連結して該トレーサ値を変更することを特徴とする請求項４に記載のクエリーパラメーター出力ページ発見プログラム。
【請求項６】
前記トレーサ値変更手順は、利用者からトレーサ値を受け付けてトレーサ値を変更することを特徴とする請求項４に記載のクエリーパラメーター出力ページ発見プログラム。
【請求項７】
前記トレーサ値生成手順は、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成することを特徴とする請求項２〜６のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
【請求項８】
前記出力ページ検出手順は、前記ページ再現結果検証手順がページの再現に用いるページ再現経路に含まれるページだけを前記検出対象範囲として出力ページを検出することを特徴とする請求項３〜７のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
【請求項９】
利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見方法であって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出工程
を含んだことを特徴とするクエリーパラメーター出力ページ発見方法。
【請求項１０】
利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見装置であって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手段
を備えたことを特徴とするクエリーパラメーター出力ページ発見装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置に関し、特に、出力ページを発見する対象範囲を広くするなどにより、高精度で出力ページを発見することができるクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置に関するものである。
【背景技術】
【０００２】
Ｗｅｂアプリケーションに対してＸＳＳ(Cross Site Scripting)脆弱性を検査するときは、クエリーパラメーターに入力した文字列がそのまま出力されているページを検出するクエリーパラメーター入出力関係解析が重要となる。ここで、ＸＳＳとは、Ｗｅｂサイトの利用者が入力した文字列をそのまま画面に表示するプログラムが、悪意のあるスクリプトを利用者のブラウザに送ることである。ＸＳＳによる被害としては、ブラウザが悪意のあるスクリプトを実行することによってクッキーデータが盗聴されてしまうことなどがある。
【０００３】
図１０は、クエリーパラメーター入出力関係解析を説明するための説明図である。同図に示すように、クエリーパラメーター入出力関係解析とは、クエリーパラメーターとして入力した値「ＸＸＸ」を出力するページを発見することである。
【０００４】
クエリーパラメーターとして入力した値を出力するページを発見した後、ＸＳＳ(Cross Site Scripting)脆弱性の検査は、出力ページの入力値の位置に基づいてスクリプトを挿入し、挿入したスクリプトがクライアント上で実行されるかなど調べることによって行うことができる。したがって、ＸＳＳ脆弱性の検査には、クエリーパラメーターとして入力した値を出力するページを発見することが重要であり、そのようなページを発見する技術が、例えば、特許文献１に記載されている。
【０００５】
【特許文献１】特開２００４−１６４６１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、かかる従来技術には、クエリーパラメーターの値を入力した直後のページだけを対象としてクエリーパラメーター値を出力するページを検索するという問題がある。図１１は、かかる従来技術の問題点を説明するための説明図である。同図に示すように、従来技術では、例えば、クエリーパラメーターの値として＜ｆｏｏ＞を入力し、＜ｆｏｏ＞を出力するページがあるか否かを直後のレスポンスのページのみを対象範囲として行っている。
【０００７】
したがって、従来技術では、直後のレスポンスのページ以外にクエリーパラメーター値が出力されるページがある場合には、そのようなページを発見することができない。また、クエリーパラメーター値の変化に伴う遷移の変化を検出することができない。
【０００８】
また、クエリーパラメーターとして入力する値が一般的に使われる文字列「ＸＸＸ」である場合には、ページに出力される文字列「ＸＸＸ」がクエリーパラメーター値であるのかクエリーパラメーター値とは関係なく出力されるものなのかを判断することができない。
【０００９】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、出力ページを発見する対象範囲を広くするなどにより、高精度で出力ページを発見することができるクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るクエリーパラメーター出力ページ発見プログラムは、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラムであって、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手順をコンピュータに実行させることを特徴とする。
【００１１】
この請求項１の発明によれば、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として出力ページを検出するよう構成したので、より多くの出力ページを検出することができる。
【００１２】
また、請求項２の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項１の発明において、前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手順をさらにコンピュータに実行させ、前記出力ページ検出手順は、前記トレーサ値生成手順により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする。
【００１３】
この請求項２の発明によれば、クエリーパラメーター値より追跡性が優れたトレーサ値をクエリーパラメーター値から生成し、生成したトレーサ値を用いて出力ページを検出するよう構成したので、出力ページの誤検出を防ぐことができる。
【００１４】
また、請求項３の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項２の発明において、対象とするＷｅｂサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手順をさらにコンピュータに実行させ、前記出力ページ検出手順は、前記トレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする。
【００１５】
この請求項３の発明によれば、対象とするＷｅｂサイトが出力するページをトレーサ値を用いて再現し、再現したページが期待していたページであるか否かを検証しながら出力ページを検出するよう構成したので、正確に出力ページを検出することができる。
【００１６】
また、請求項４の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項３の発明において、前記ページ再現結果検証手順により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手順をさらにコンピュータに実行させ、前記出力ページ検出手順は、前記トレーサ値変更手順により変更されたトレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする。
【００１７】
この請求項４の発明によれば、再現したページが期待していたページでないことが検証された場合に、トレーサ値を変更し、変更したトレーサ値を用いてページ再現および再現結果の検証を繰返しながら出力ページを検出するよう構成したので、出力ページを発見する可能性を向上させることができる。
【００１８】
また、請求項５の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項４の発明において、前記トレーサ値変更手順は、前記トレーサ値の前後に前記クエリーパラメーター値を連結して該トレーサ値を変更することを特徴とする。
【００１９】
この請求項５の発明によれば、トレーサ値の前後にクエリーパラメーター値を連結してトレーサ値を変更するよう構成したので、トレーサ値を対象Ｗｅｂサイトに受け入れやすいものに変更することができる。
【００２０】
また、請求項６の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項４の発明において、前記トレーサ値変更手順は、利用者からトレーサ値を受け付けてトレーサ値を変更することを特徴とする。
【００２１】
この請求項６の発明によれば、利用者からトレーサ値を受け付けてトレーサ値を変更するよう構成したので、利用者にトレーサ値を指定させることができる。
【００２２】
また、請求項７の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項２〜６の発明において、前記トレーサ値生成手順は、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成することを特徴とする。
【００２３】
この請求項７の発明によれば、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成するよう構成したので、利用者をトレーサ値の生成に関与させることができる。
【００２４】
また、請求項８の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項３〜７の発明において、前記出力ページ検出手順は、前記ページ再現結果検証手順がページの再現に用いるページ再現経路に含まれるページだけを前記検出対象範囲として出力ページを検出することを特徴とする。
【００２５】
この請求項８の発明によれば、ページの再現に用いるページ再現経路に含まれるページだけを検出対象範囲として出力ページを検出するよう構成したので、出力ページの検出範囲を限定することができる。
【００２６】
また、請求項９の発明に係るクエリーパラメーター出力ページ発見方法は、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見方法であって、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出工程を含んだことを特徴とする。
【００２７】
この請求項９の発明によれば、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として出力ページを検出するよう構成したので、より多くの出力ページを検出することができる。
【００２８】
また、請求項１０の発明に係るクエリーパラメーター出力ページ発見装置は、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見装置であって、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手段を備えたことを特徴とする。
【００２９】
この請求項１０の発明によれば、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として出力ページを検出するよう構成したので、より多くの出力ページを検出することができる。
【発明の効果】
【００３０】
請求項１、９および１０の発明によれば、より多くの出力ページを検出するので、出力ページの発見能力を向上させることができるという効果を奏する。
【００３１】
また、請求項２の発明によれば、出力ページの誤検出を防ぐので、高精度で出力ページを発見することができるという効果を奏する。
【００３２】
また、請求項３の発明によれば、正確に出力ページを検出するので、高精度で出力ページを発見することができるという効果を奏する。
【００３３】
また、請求項４の発明によれば、出力ページを発見する可能性を向上させるので、高精度で出力ページを発見することができるという効果を奏する。
【００３４】
また、請求項５の発明によれば、トレーサ値を対象Ｗｅｂサイトに受け入れやすいものに変更するので、ページを再現する可能性を向上させることができるという効果を奏する。
【００３５】
また、請求項６の発明によれば、利用者にトレーサ値を指定させるので、ページを再現する可能性を利用者自身で向上させることができるという効果を奏する。
【００３６】
また、請求項７の発明によれば、利用者をトレーサ値の生成に関与させるので、ページを再現する可能性を利用者自身で向上させることができるという効果を奏する。
【００３７】
また、請求項８の発明によれば、出力ページの検出範囲を限定するので、効率良く出力ページを発見することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３８】
以下に添付図面を参照して、この発明に係るクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置の好適な実施例を詳細に説明する。
【実施例】
【００３９】
まず、本実施例に係るクエリーパラメーター出力ページ群発見装置の概念について説明する。図１は、本実施例に係るクエリーパラメーター出力ページ群発見装置の概念を説明するための説明図である。
【００４０】
同図に示すように、本実施例に係るクエリーパラメーター出力ページ群発見装置は、元のクエリーパラメーター入力値に基づいて追跡可能なトレーサ値（追跡可能文字列）を生成し、生成したトレーサ値をクエリーパラメーター値として元のページが再現されるか否かを検査する。
【００４１】
ここで、追跡可能なトレーサ値とは、一般的に使用されることがほとんどなく、クエリーパラメーター入出力関係の解析に使用する値として追跡し易い値である。例えば、「会社Ａ」をクエリーパラメーター入力値とすると、「会社Ａ」はクエリーパラメーター入力値以外で使用される可能性が高い。そこで、本実施例に係るクエリーパラメーター出力ページ群発見装置は、「会社Ａ」に「をを」を付加することによってトレーサ値「会社Ａをを」生成し、「会社Ａをを」を入力した場合に「会社Ａ」を入力した場合と同じページが再現するか否かを検査する。
【００４２】
そして、「会社Ａ」を入力した場合と同じページが再現された場合には、入力直後のページだけでなくクエリーパラメーター出力ページ群発見装置が既知ページとして保持する範囲を対象としてクエリーパラメーター値を出力するページをトレーサ値を用いて検索する。一方、入力エラーを警告するページなど、「会社Ａ」を入力した場合と同じページが再現されない場合には、他のトレーサ値を生成してページの再現を試行錯誤する。
【００４３】
このように、本実施例に係るクエリーパラメーター出力ページ群発見装置は、クエリーパラメーター値入力直後のページだけでなく既知ページとして保持する全ページを対象としてクエリーパラメーター値を出力するページをトレーサ値を用いて検索することによって、従来は発見できなかったクエリーパラメーター値出力ページを発見することができる。
【００４４】
また、本実施例に係るクエリーパラメーター出力ページ群発見装置は、クエリーパラメーター値に基づいてトレーサ値を生成し、生成したトレーサ値をクエリーパラメーター値の代わりに用いることによって、クエリーパラメーター値とは関係なく同一の文字列が偶然に使用されているページを誤検出することを防ぐことができる。
【００４５】
次に、本実施例に係るクエリーパラメーター出力ページ群発見装置の構成について説明する。図２は、本実施例に係るクエリーパラメーター出力ページ群発見装置の構成を示す機能ブロック図である。
【００４６】
同図に示すように、このクエリーパラメーター出力ページ群発見装置１００は、ページ再現・再現結果検証部１１０と、ページ群情報記憶部１２０と、出力ページ群検出部１３０とを有する。
【００４７】
ページ再現・再現結果検証部１１０は、対象Ｗｅｂサイトが出力するページを再現し、再現したページが期待したページと一致するか否かを検証する処理部である。このページ再現・再現結果検証部１１０は、対象Ｗｅｂサイトの各ページの再現試行方法および検証方法についての記録を保持し、ページの再現および再現結果の検証を行う。
【００４８】
ここで、再現試行方法の記録は、対象Ｗｅｂサイトに送信するリクエストの生成法のリストであり、検証方法の記録は、対象Ｗｅｂサイトに送信したリクエストの生成法のリストに対して期待されるレスポンスの性質のリストである。これらの記録は外部から参照や変更が可能である。
【００４９】
そして、このページ再現・再現結果検証部１１０は、任意のページの再現試行の指示を受けると、再現試行方法に従ってそのページの再現を試み、得られたレスポンスのリストが期待されたものだったか否かをその検証方法によって検証し、結果を通知する。
【００５０】
また、このページ再現・再現結果検証部１１０は、対象Ｗｅｂサイトからページ情報を収集し、収集したページをページクラスに分類するとともに、ページの遷移をモデル化してページ遷移モデルを構築する。そして、それぞれのページクラス（ページ群の分類単位）を再現試行する際に使用する再現用リクエストを一つ決め、そのリクエストを送信するときの前提条件（送信直前にどのページクラスを再現試行するか）を決めておく。
【００５１】
そして、あるページクラスに分類されるようなページの再現試行を要求されると、このページ再現・再現結果検証部１１０は、前提条件となるページクラス群をページ遷移モデルに基づいて順に再現試行していき、最後に指定ページクラスを再現用リクエストを送信することによって再現試行する。その際、それぞれのリクエストで得られたページがそのときの期待されるページクラスに分類されるかどうかを自動検証し、期待されるページクラスに分類されなかったときは再現試行を中止し、その旨を通知する。
【００５２】
図３は、ページ再現・再現結果検証部１１０により構築されるページ遷移モデルの例を示す図である。同図では、各正方形がページクラスを表現している。また、「８：結果」と書かれたページクラスの再現経路を太線で示している。
【００５３】
すなわち、「８：結果」の再現試行が要求されると、このページ再現・再現結果検証部１１０は、「９：」を、設定された再現用リクエストに基づいてリクエストし、それによって得られたページが確かに「９：」に分類されることを確認し、「９：」に分類されなかった場合には、その旨を通知する。
【００５４】
続いて、再現経路に沿って、「２：問題」を、設定された再現用リクエストに基づいてリクエストし、それによって得られたページが確かに「２：問題」に分類されることを確認し、「２：問題」に分類されなかった場合には、その旨を通知する。以下、「８：結果」までを同様に再現する。なお、このページ再現・再現結果検証部１１０の詳細については、例えば、特願２００４−２３７５５１に記載されている。
【００５５】
ページ群情報記憶部１２０は、ページ遷移モデルなどページの再現および再現結果の検証に必要な情報を記憶する記憶部である。ページ再現・再現結果検証部１１０は、対象Ｗｅｂサイトから情報を収集し、ページ遷移モデルなどを構築してこのページ群情報記憶部１２０に格納する。
【００５６】
出力ページ群検出部１３０は、ページ再現・再現結果検証部１１０を用いてクエリーパラメーター出力ページを検出する処理部であり、クエリーパラメーター受付部１３１と、追跡可能文字列生成部１３２と、クエリーパラメーター入力再現部１３３と、クエリーパラメーター出力ページ再現部１３４と、発見結果出力部１３５と、制御部１３６とを有する。
【００５７】
クエリーパラメーター受付部１３１は、入出力関係解析の対象となるクエリーパラメーター群およびそれらの値や発見方針などを利用者から受け付ける処理部である。図４は、利用者が発見方針を設定する方針設定用ＧＵＩの一例を示す図である。
【００５８】
同図に示すように、この方針設定用ＧＵＩを用いて、利用者は前半固定文字列、後半固定文字列、再現失敗時の措置、発見対象範囲を指定することができる。ここで、前半固定文字列および後半固定文字列はトレース値の生成に用いられる文字列であり、発見対象範囲の指定は、再現経路にあるページだけを発見対象とするかページ群情報記憶部１２０に記憶された全ページを発見対象とするかを指定するものである。
【００５９】
追跡可能文字列生成部１３２は、クエリーパラメーター受付部１３１が受け付けたクエリーパラメーター値に基づいてトレース値を生成する処理部である。ここで、トレース値が備えるべき特性としては、「一意性」と「受け入れやすさ」がある。「一意性」は、通常使用されることが極めて稀であり、Ｗｅｂアプリケーションから出力されたときに、その要因がこの入力だとわかることであり、「受け入れやすさ」は、元のクエリーパラメーター値と同じように、すなわち、Ｗｅｂアプリケーションで元のクエリーパラメーター値を入力したときと同じような制御が起きるように、Ｗｅｂアプリケーションに受け入れられることである。
【００６０】
追跡可能文字列生成部１３２は、「受け入れやすさ」を満たすように、トレース値を構成する文字種を、ＵＲＬデコード後のクエリーパラメーター値より決める。具体的には、半角英小文字［０ｘ６１，０ｘ７Ａ］が受け入れられる場合が最も多いと考えられるため、文字種を次のように決める。
【００６１】
（１）クエリーパラメーターの値に半角英小文字が含まれている場合は、半角英小文字とする。
（２）そうでなく、クエリーパラメーターの値に半角英大文字［０ｘ４１，０ｘ５Ａ］が含まれている場合は、半角英大文字とする。
（３）そうでなく、クエリーパラメーターの値に半角数字［０ｘ３０，０ｘ３９］が含まれている場合は、半角数字とする。
（４）そうでなく、クエリーパラメーターの値にひらがなが含まれている場合は、ひらがなとする。
（５）そうでなく、クエリーパラメーターの値に全角カタカナが含まれている場合は、全角カタカナとする。
（６）そうでなく、クエリーパラメーターの値に半角カタカナが含まれている場合は、半角カタカナとする。
（７）そうでなく、クエリーパラメーターの値にその他の多バイト文字（ＵＴＦ−８において１バイトに符号化されない文字、ただし記号以外）が含まれている場合は、その文字を持つ言語の文字種（日本語のひらがなに相当）とする。
（８）そうでない場合は、半角英小文字とする。
【００６２】
そして、追跡可能文字列生成部１３２は、「一意性」を満たすように、その文字種を持つ言語において特異な文字列（通常使用されないような文字の並び）を決める。例えば、特異な文字列を以下のように決める。
【００６３】
（１）半角英小文字の場合は、「ｑｚ」
（２）半角英大文字の場合は、「ＱＺ」
（３）半角数字の場合は、「７６５４」
（４）ひらがなの場合は、「をを」
（５）全角カタカナの場合は、「ヲヲ」
（６）半角カタカナの場合は、「ヲヲ（半角のヲ）」
【００６４】
さらに、追跡可能文字列生成部１３２は、「一意性」を満たすように、場合の数の大きさが対象クエリーパラメーター総数になる最短文字列空間から未使用の文字列を使用することを決める。例えば、対象クエリーパラメーター総数が６７６個で文字種が半角英小文字の場合、場合の数の大きさが６７６になる最短文字列は２文字（英小文字の数は２６であるので、２文字からなる文字列空間の場合の数の大きさは２６×２６＝６７６）であるため、「ａａ」〜「ｚｚ」からなる２文字の文字列空間から未使用の文字列を使用する。また、クエリーパラメーターの数が６７７個であれば最短文字列空間は３文字の文字列空間となり、「ａａａ」〜「ｂａａ」からなる文字列空間から未使用の文字列を使用する。したがって、半角英小文字の場合は、「ｑｚａａ」などとなる。
【００６５】
これに図４で示したＧＵＩで利用者が指定した「前半固定文字列」および「後半固定文字列」をそれぞれ前後に連結したものを、追跡可能文字列生成部１３２は、「デフォルトのトレース値」とする。このような所定の文字列の連結は、対象Ｗｅｂアプリケーションがクエリーパラメーターの値の前半あるいは後半に特定の文字列がある場合に受け入れやすいということが予めわかっている場合などに有用となる。
【００６６】
このように、追跡可能文字列生成部１３２が、クエリーパラメーター受付部１３１が受け付けたクエリーパラメーター値に基づいて、「一意性」と「受け入れやすさ」に優れたトレース値を生成することによって、クエリーパラメーター値出力ページの発見を精度良くかつ効率的に行うことができる。
【００６７】
また、この追跡可能文字列生成部１３２は、クエリーパラメーター入力再現部１３３の指示に基づいて、トレース値の再生成を行う。具体的には、クエリーパラメーターの元の値をオリジナル値とすると、
（１）オリジナル値＋「デフォルトのトレース値」
（２）「デフォルトのトレース値」＋オリジナル値
（３）オリジナル値＋「デフォルトのトレース値」＋オリジナル値
を生成する。ここで「＋」は文字列の連結を示す。なお、トレース値を再生成する場合に、オリジナル値を連結する理由は、オリジナル値が受け入れられたＷｅｂアプリケーションには、オリジナル値が前後にある文字列が受け入れやすいためである。
【００６８】
また、この追跡可能文字列生成部１３２は、再生成したトレース値が受け入れられなかった場合に、クエリーパラメーター入力再現部１３３の指示に基づいて、トレース値の作成を利用者に依頼する。
【００６９】
図５は、トレース値の指定用ＧＵＩの一例を示す図である。同図に示すように、このＧＵＩでは、試行した値が示され、利用者に次に試行する値の入力を依頼する。そして、利用者がトレース値を入力し、「再試行」ボタンを押すとトレース値をクエリーパラメーター入力再現部１３３に渡す。一方、利用者がトレース値を入力することなく「このパラメーターの出力ページ群発見を諦める」ボタンを押すとその旨をクエリーパラメーター入力再現部１３３に通知する。
【００７０】
クエリーパラメーター入力再現部１３３は、ページ再現・再現結果検証部１１０を用いてクエリーパラメーターの入力を再現する処理部である。すなわち、このクエリーパラメーター入力再現部１３３は、クエリーパラメーターの入力によって生成される元リクエストから、クエリーパラメーター値をトレース値に変更した検査リクエストを生成し、ページ再現・再現結果検証部１１０を用いて、元リクエストによって得られたぺージが分類されたページクラスに分類されるページを再現することを試みる。その結果、元リクエストと同じページクラスに分類されるページが再現された場合には、トレース値が対象Ｗｅｂアプリケーションに受け入れられたとものとする。
【００７１】
例えば、
ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／？ｐ１＝ｓｍａｌｌ＆ｐ２＝ＣＡＰＩＴＡＬ
からは、「ｐ１」が対象のときには「ｐ１」の値を「ｑｚａａ」に変更した検査リクエスト
ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／？ｐ１＝ｑｚａａ＆ｐ２＝ＣＡＰＩＴＡＬ
などが生成され、「ｐ２」が対象のときには「ｐ２」の値を「ＱＺＡＢ」に変更した検査リクエスト
ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／？ｐ１＝ｓｍａｌｌ＆ｐ２＝ＱＺＡＢ
などが、それぞれ検査リクエストとして生成される。
【００７２】
また、例えば、図３のページクラス「４：」の再現用リクエスト
ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／？ｐ＝ｖ
のクエリーパラメーター「ｐ」を対象としているとき、「ｐ」の値を「ｑｚａｃ」に変更した検査リクエストを生成し、ページクラス「４：」を再現する場合には、クエリーパラメーター入力再現部１３３は、ページ再現・再現結果検証部１１０に「３：住所・氏名・年齢・電話番号の入力」の再現試行を指示し、それに成功した場合に（失敗した場合には、致命的なエラーの旨を出力し、発見処理を中止する）検査リクエストを送信する。そして、それによって得られたページが元と同じページクラスである「４：」に分類されるか否かを検証する。
【００７３】
また、クエリーパラメーター入力再現部１３３は、元リクエストによって得られたぺージが分類されたページクラスに分類されるページを再現することを試みて、その結果、元リクエストと同じページクラスに分類されるページが再現されなかった場合、すなわち、得られたページが想定されたページクラスに分類されなかった場合には、トレース値がＷｅｂアプリケーションに受け入れられなかったとする。これは、Ｗｅｂアプリケーションでは入力パラメーター値を受け入れたか否かの結果は直後に出力することが多いためである。
【００７４】
そして、クエリーパラメーター入力再現部１３３は、再試行が設定されていた場合、すなわち、図４に示した方針設定用ＧＵＩで「再現失敗時に、元の値を前後に連結した値で再試行する。」が設定されていた場合には、追跡可能文字列生成部１３２にトレース値の再生成を指示し、再生成されたトレース値を用いて再試行する。
【００７５】
また、クエリーパラメーター入力再現部１３３は、追跡可能文字列生成部１３２によって再生成されたトレース値が受け入れられなかった場合には、トレース値の手動指定がされているとき、すなわち、図４に示した方針設定用ＧＵＩで「再現失敗時に、適切な入力を求めるダイアログを表示する。」が設定されていたときには、利用者にトレース値を指定してもらうように追跡可能文字列生成部１３２に指示する。
【００７６】
そして、利用者によってトレース値が指定された場合には、指定されたトレース値を用いて再試行する。一方、利用者がこのクエリーパラメーターに関する出力ページの発見を諦めた場合には、再現を中止する。
【００７７】
クエリーパラメーター出力ページ再現部１３４は、ページ再現・再現結果検証部１１０を用いて、クエリーパラメーター値を出力するページを検出する処理部である。すなわち、このクエリーパラメーター出力ページ再現部１３４は、クエリーパラメーター入力再現部１３３によるクエリーパラメーター入力の再現が成功した場合に、成功した検査リクエストを再現用リクエストとして使用しながら、発見対象候補となる全ページクラスをページ再現・再現結果検証部１１０を用いて再現し、その検査リクエストに設定されているトレース値の出力を監視し、クエリーパラメーター値を出力するページを検出する。
【００７８】
例えば、図３に示したページクラス「４：」の再現用リクエスト
ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／？ｐ＝ｖ
のクエリーパラメーター「ｐ」を対象として「ｐ」の値を「ｑｚａｃ」に変更した検査リクエスト
ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／？ｐ＝ｑｚａｃ
が「４：」を再現したとする。
【００７９】
すると、クエリーパラメーター出力ページ再現部１３４は、「ｐ」の元の値である「ｖ」が含まれているページを、ページ群情報記憶部１２０に記憶された全ページの情報から検索することによって、どのページクラスにクエリーパラメーター値が出力しうるか絞り込み、それらページクラスを候補ページクラス群とする。
【００８０】
例えば、図３で「１：」、「７：確認」、「８：結果」の三つが候補ページクラス群とする（すなわち、この三つのページクラスに分類されたページに「ｖ」が出力されている）。このとき、クエリーパラメーター出力ページ再現部１３４は、「１：」および「８：結果」の再現試行をページ再現・再現結果検証部１１０に指示する。ここで、「７：確認」は「８：結果」の再現経路上なので、「８：結果」を再現すれば「７：確認」も再現されるため、ページ再現・再現結果検証部１１０には「７：確認」の再現試行は指示しない。
【００８１】
この再現試行の際、「４：」を経由する場合は、「４：」を再現試行する際に使用するリクエストは検査リクエストで代替する。クエリーパラメーター出力ページ再現部１３４は、再現しながら、「１：」、「７：確認」、「８：結果」においてトレース値「ｑｚａｃ」が出力されるかどうか監視し、出力された場合は、そのページクラスを発見したページとして出力する。
【００８２】
なお、再現試行にあたって、再現が失敗した場合に、その原因を推測することは困難なので、失敗した旨だけを出力する。また、「４：」を経由しない「１：」のようなページクラスは効率化のため、図４に示した方針設定用ＧＵＩで「再現経路以外のノード（ノードはページクラス）も発見対象とする。」が設定されていないときには、検査対象から除外する。これは、クエリーパラメーターを入力してから辿るようなページ（ここの例では「４：」を経由するページ）の方が、クエリーパラメーターを入力せずに辿るようなページ（ここの例では「４：」を経由しないページ）よりも入力したクエリーパラメーター値が出力されやすいためである。
【００８３】
発見結果出力部１３５は、クエリーパラメーター出力ページ再現部１３４が検出したクエリーパラメーター値出力ページなど解析結果を出力する処理部である。図６は、発見結果出力部１３５が出力する解析結果出力の一例を示す図である。
【００８４】
同図では、ノード（ページクラス）「３」から「４」に遷移したページに含まれていた「ａｃｔｉｏｎ」、「ａｄｄｒｅｓｓ」、「ａｇｅ」の三つのクエリーパラメーターについての解析結果を示している。
【００８５】
例えば、「ａｇｅ」については、次のような情報が出力されている。
・元の値は「３０」であり、全ページのうちこの「３０」が出力されていたページクラス群はノード「６」および「７」である。
・その後、トレース値（追跡可能文字列）として「７６５４０００００００００３」や他の三つの値による検査リクエストを試行したが、それらは全て元のノード「４」に遷移せず「３」に遷移した。また、遷移したページには追跡可能文字列は発見されなかった。
・その後、追跡可能文字列として「１１７」による検査リクエストを試行したら元のノード「４」が再現したため、ノード「６，７」の再現を試みた。その結果、
「６」は再現されたが、そこに追跡可能文字列「１１７」は発見されなかった。
「７」は再現され、そこに追跡可能文字列「１１７」が発見された。
【００８６】
ここで、図３に示したように、発見されたノード「７」に分類されるページはノード「３」の直後のページではなく、直後のページしか発見対象範囲としていなかった従来技術では発見できなかったページが発見されていることがわかる。
【００８７】
制御部１３６は、クエリーパラメーター出力ページ群発見装置１００全体の制御を行う処理部であり、具体的には、機能部間の制御の移動や機能部と記憶部の間のデータの受け渡しなどを行うことによって、クエリーパラメーター出力ページ群発見装置１００を一つの装置として機能させる。
【００８８】
次に、出力ページ群検出部１３０の処理手順について説明する。図７は、出力ページ群検出部１３０の処理手順を示すフローチャートである。同図に示すように、出力ページ群検出部１３０は、まず、クエリーパラメーター受付部１３１が発見対象クエリーパラメーター群指定や方針指定などを受け付け（ステップＳ１０１）、制御部１３６がクエリーパラメーターごとにステップＳ１０２〜ステップＳ１１８間の処理を繰り返すように制御する。
【００８９】
繰返し処理としては、追跡可能文字列生成部１３２がクエリーパラメーター値に基づいて追跡可能文字列（トレース値）を生成し（ステップＳ１０３）、クエリーパラメーター入力再現部１３３が追跡可能文字列を含む検査リクエストによって元のページの再現試行をページ再現・再現結果検証部１１０に指示する（ステップＳ１０４）。
【００９０】
そして、クエリーパラメーター入力再現部１３３は、元のページが再現したか否か判定する（ステップＳ１０５）。その結果、再現しない場合には、制御部１３６が終了条件を満たしたか否かを判定し（ステップＳ１０６）、終了条件を満たしていない場合には、制御をステップＳ１０３に戻し、追跡可能文字列を再生成させ、終了条件を満たした場合には、発見処理に失敗したクエリーパラメーターとして記録し（ステップＳ１０７）、次のクエリーパラメーターに対して処理を行う。ここで、終了条件は、図４に示した発見方針設定用ＧＵＩで利用者によって設定された発見方針に基づいて決定される条件であり、再試行を行うか否かなどである。
【００９１】
一方、元のページが再現した場合には、制御部１３６は、検査リクエストを再現用リクエストに設定し（ステップＳ１０８）、発見対象のページ、すなわち、元のクエリーパラメーター値が出力されている候補ページごとに、ステップＳ１０９〜ステップＳ１１６間の処理を繰り返す。
【００９２】
繰返し処理としては、クエリーパラメーター出力ページ再現部１３４が、追跡可能文字列を用いてページの再現試行をページ再現・再現結果検証部１１０に指示し（ステップＳ１１０）、ページが再現したか否かを判定する（ステップＳ１１１）。
【００９３】
その結果、ページが再現した場合には、クエリーパラメーター出力ページ再現部１３４は、ページ出力から追跡可能文字列を検索し（ステップＳ１１２）、追跡可能文字列を発見したか否かを判定する（ステップＳ１１３）。そして、追跡可能文字列を発見した場合には、クエリーパラメーター出力ページ再現部１３４は、クエリーパラメーターの出力を発見したページとして記録する（ステップＳ１１４）。
【００９４】
一方、ページが再現しなかった場合には、クエリーパラメーター出力ページ再現部１３４は、発見処理に失敗したページとして記録する（ステップＳ１１５）。
【００９５】
そして、ステップＳ１０９〜ステップＳ１１６間の繰返し処理が全ての候補ページについて終了すると、制御部１３６は、再現用リクエストを元に戻して、次のクエリーパラメーターに対して処理を行う。
【００９６】
最後に、発見結果出力部１３５が、発見結果（解析結果）を出力して処理を終了する（ステップＳ１１９）。
【００９７】
このように、出力ページ群検出部１３０は、追跡可能文字列を生成し、ページ再現・再現結果検証部１１０を用いてページを再現しながら追跡可能文字列の出力を監視することによって、クエリーパラメーターの出力ページを発見することができる。
【００９８】
次に、本実施例に係るクエリーパラメーター出力ページ群発見装置１００が奏する効果と主な処理の流れの関係について説明する。図８は、本実施例に係るクエリーパラメーター出力ページ群発見装置１００が奏する効果と主な処理の流れの関係を説明するための説明図である。
【００９９】
同図に示すように、従来は、クエリーパラメーターの値の入力直後のレスポンスページのみを検出対象としていたため、検出結果が狭い範囲に制限されていた。そこで、本実施例に係るクエリーパラメーター出力ページ群発見装置１００は、クエリーパラメーターを選択し（ステップＳ１）、選択したクエリーパラメーターについて全ページを再現し（ステップＳ４）、クエリーパラメーター値の出力ページであるか否かなどを示す検出結果を出力する（ステップＳ５）ことによって、検出範囲を広げることとしている。
【０１００】
例えば、クエリーパラメーターとして「ａｐｐｌｅ」を選択し（ステップＳ１）、「ａｐｐｌｅ」という文字列の出力を全ページを再現しながら監視し（ステップＳ４）、「ａｐｐｌｅ」と出力されているページを発見したページとして出力する（ステップＳ５）ので、検出範囲を広げることができる。
【０１０１】
さらに、本実施例に係るクエリーパラメーター出力ページ群発見装置１００は、クエリーパラメーターを選択し（ステップＳ１）、選択したクエリーパラメーターの元の値を参考にして追跡可能文字列を生成し（ステップＳ２）、生成した追跡可能文字列を用いた新リクエストでも元のページが再現することを確認し（ステップＳ３）、生成した追跡可能文字列を監視しながら全ページを再現し（ステップＳ４）、追跡可能文字列の出力ページなどの検出結果を出力する（ステップＳ５）ことによって、誤検出を減らすこととしている。
【０１０２】
例えば、クエリーパラメーターとして「ａｐｐｌｅ」を選択し（ステップＳ１）、「ａｐｐｌｅ」を参考にして「ｇｏｇｇｏｌｅ」を生成し（ステップＳ２）、「ｇｏｇｇｏｌｅ」で元のページが再現することを確認し（ステップＳ３）、再現する場合には、「ｇｏｇｇｏｌｅ」という文字列の出力を全ページを再現しながら監視し（ステップＳ４）、「ｇｏｇｇｏｌｅ」と出力されているページを発見したページとして出力する（ステップＳ５）ので、「ｇｏｇｇｏｌｅ」が関係ないページにも出力されている可能性は低いことから、誤検出を減らすことができる。
【０１０３】
上述してきたように、本実施例では、追跡可能文字列生成部１３２が、元のクエリーパラメーターの値に基づいてトレース値を生成し、クエリーパラメーター入力再現部１３３がトレース値を用いてクエリーパラメーター入力を再現し、クエリーパラメーター入力が再現された場合に、そのトレース値を用いてクエリーパラメーター出力ページ再現部１３４がページ群情報記憶部１２０に記憶した全ページを対象としてクエリーパラメーターの値を出力するページを検出することとしたので、利用者が入力したクエリーパラメーター値を出力する出力ページを高精度で発見することができる。
【０１０４】
なお、クエリーパラメーター入力再現部１３３およびクエリーパラメーター出力ページ再現部１３４は、ページ再現・再現結果検証部１１０を用いてページを再現し、再現結果を検証する。
【０１０５】
また、本実施例では、ページ再現・再現結果検証部１１０を用いてページを再現する場合について説明したが、本発明はこれに限定されるものではなく、対象Ｗｅｂサイトと実際に通信しながらページの再現試行を行う場合にも同様に適用することができる。
【０１０６】
また、本実施例では、クエリーパラメーター出力ページ群発見装置について説明したが、クエリーパラメーター出力ページ群発見装置が有する構成をソフトウェアによって実現することで、同様の機能を有するクエリーパラメーター出力ページ群発見プログラムを得ることができる。そこで、このクエリーパラメーター出力ページ群発見プログラムを実行するコンピュータについて説明する。
【０１０７】
図９は、本実施例に係るクエリーパラメーター出力ページ群発見プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ２１０と、ＣＰＵ２２０と、ＨＤＤ２３０と、ＬＡＮインタフェース２４０と、入出力インタフェース２５０と、ＤＶＤドライブ２６０とを有する。
【０１０８】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。
【０１０９】
ＨＤＤ２３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース２４０は、コンピュータ２００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。
【０１１０】
入出力インタフェース２５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ２６０は、ＤＶＤの読み書きを行う装置である。
【０１１１】
そして、このコンピュータ２００において実行されるクエリーパラメーター出力ページ群発見プログラム２１１は、ＤＶＤに記憶され、ＤＶＤドライブ２６０によってＤＶＤから読み出されてコンピュータ２００にインストールされる。
【０１１２】
あるいは、このクエリーパラメーター出力ページ群発見プログラム２１１は、ＬＡＮインタフェース２４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ２００にインストールされる。
【０１１３】
そして、インストールされたクエリーパラメーター出力ページ群発見プログラム２１１は、ＨＤＤ２３０に記憶され、ＲＡＭ２１０に読み出されてＣＰＵ２２０によってクエリーパラメーター出力ページ群発見プロセス２２１として実行される。
【０１１４】
（付記１）利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラムであって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手順
をコンピュータに実行させることを特徴とするクエリーパラメーター出力ページ発見プログラム。
【０１１５】
（付記２）前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値生成手順により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする付記１に記載のクエリーパラメーター出力ページ発見プログラム。
【０１１６】
（付記３）対象とするＷｅｂサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする付記２に記載のクエリーパラメーター出力ページ発見プログラム。
【０１１７】
（付記４）前記ページ再現結果検証手順により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値変更手順により変更されたトレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする付記３に記載のクエリーパラメーター出力ページ発見プログラム。
【０１１８】
（付記５）前記トレーサ値変更手順は、前記トレーサ値の前後に前記クエリーパラメーター値を連結して該トレーサ値を変更することを特徴とする付記４に記載のクエリーパラメーター出力ページ発見プログラム。
【０１１９】
（付記６）前記トレーサ値変更手順は、利用者からトレーサ値を受け付けてトレーサ値を変更することを特徴とする付記４に記載のクエリーパラメーター出力ページ発見プログラム。
【０１２０】
（付記７）前記トレーサ値生成手順は、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成することを特徴とする付記２〜６のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
【０１２１】
（付記８）前記出力ページ検出手順は、前記ページ再現結果検証手順がページの再現に用いるページ再現経路に含まれるページだけを前記検出対象範囲として出力ページを検出することを特徴とする付記３〜７のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
【０１２２】
（付記９）利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見方法であって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出工程
を含んだことを特徴とするクエリーパラメーター出力ページ発見方法。
【０１２３】
（付記１０）前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成工程をさらに含み、
前記出力ページ検出工程は、前記トレーサ値生成工程により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする付記９に記載のクエリーパラメーター出力ページ発見方法。
【０１２４】
（付記１１）対象とするＷｅｂサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証工程をさらに含み、
前記出力ページ検出工程は、前記トレーサ値を用いて前記ページ再現結果検証工程によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする付記１０に記載のクエリーパラメーター出力ページ発見方法。
【０１２５】
（付記１２）前記ページ再現結果検証工程により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更工程をさらに含み、
前記出力ページ検出工程は、前記トレーサ値変更工程により変更されたトレーサ値を用いて前記ページ再現結果検証工程によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする付記１１に記載のクエリーパラメーター出力ページ発見方法。
【０１２６】
（付記１３）利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見装置であって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Ｗｅｂサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手段
を備えたことを特徴とするクエリーパラメーター出力ページ発見装置。
【０１２７】
（付記１４）前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手段をさらに備え、
前記出力ページ検出手段は、前記トレーサ値生成手段により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする付記１３に記載のクエリーパラメーター出力ページ発見装置。
【０１２８】
（付記１５）対象とするＷｅｂサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手段をさらに備え、
前記出力ページ検出手段は、前記トレーサ値を用いて前記ページ再現結果検証手段によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする付記１４に記載のクエリーパラメーター出力ページ発見装置。
【０１２９】
（付記１６）前記ページ再現結果検証手段により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手段をさらに備え、
前記出力ページ検出手段は、前記トレーサ値変更手段により変更されたトレーサ値を用いて前記ページ再現結果検証手段によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする付記１５に記載のクエリーパラメーター出力ページ発見装置。
【産業上の利用可能性】
【０１３０】
以上のように、本発明に係るクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置は、Ｗｅｂアプリケーションの検査に有用であり、特に、ＸＳＳ脆弱性の有無の検査に適している。
【図面の簡単な説明】
【０１３１】
【図１】本実施例に係るクエリーパラメーター出力ページ群発見装置の概念を説明するための説明図である。
【図２】本実施例に係るクエリーパラメーター出力ページ群発見装置の構成を示す機能ブロック図である。
【図３】ページ再現・再現結果検証部により構築されるページ遷移モデルの例を示す図である。
【図４】利用者が発見方針を設定する方針設定用ＧＵＩの一例を示す図である。
【図５】トレース値の指定用ＧＵＩの一例を示す図である。
【図６】発見結果出力部が出力する解析結果出力の一例を示す図である。
【図７】出力ページ群検出部の処理手順を示すフローチャートである。
【図８】本実施例に係るクエリーパラメーター出力ページ群発見装置が奏する効果と主な処理の流れの関係を説明するための説明図である。
【図９】本実施例に係るクエリーパラメーター出力ページ群発見プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【図１０】クエリーパラメーター入出力関係解析を説明するための説明図である。
【図１１】従来技術の課題を説明するための説明図である。
【符号の説明】
【０１３２】
１００    クエリーパラメーター出力ページ群発見装置
１１０    ページ再現・再現結果検証部
１２０    ページ群情報記憶部
１３０    出力ページ群検出部
１３１    クエリーパラメーター受付部
１３２    追跡可能文字列生成部
１３３    クエリーパラメーター入力再現部
１３４    クエリーパラメーター出力ページ再現部
１３５    発見結果出力部
１３６    制御部
２００    コンピュータ
２１０    ＲＡＭ
２１１    クエリーパラメーター出力ページ群発見プログラム
２２０    ＣＰＵ
２２１    クエリーパラメーター出力ページ群発見プロセス
２３０    ＨＤＤ
２４０    ＬＡＮインタフェース
２５０    入出力インタフェース
２６０    ＤＶＤドライブ
【図１】
2007183838.tif 000003
【図２】
2007183838.tif 000004
【図３】
2007183838.tif 000005
【図４】
2007183838.tif 000006
【図５】
2007183838.tif 000007
【図６】
2007183838.tif 000008
【図７】
2007183838.tif 000009
【図８】
2007183838.tif 000010
【図９】
2007183838.tif 000011
【図１０】
2007183838.tif 000012
【図１１】
2007183838.tif 000013