JP2007183838A - クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置 - Google Patents

クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置 Download PDF

Info

Publication number
JP2007183838A
JP2007183838A JP2006001879A JP2006001879A JP2007183838A JP 2007183838 A JP2007183838 A JP 2007183838A JP 2006001879 A JP2006001879 A JP 2006001879A JP 2006001879 A JP2006001879 A JP 2006001879A JP 2007183838 A JP2007183838 A JP 2007183838A
Authority
JP
Japan
Prior art keywords
page
query parameter
output
value
reproduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006001879A
Other languages
English (en)
Inventor
Yuji Yamaoka
裕司 山岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006001879A priority Critical patent/JP2007183838A/ja
Priority to US11/412,957 priority patent/US20070162427A1/en
Publication of JP2007183838A publication Critical patent/JP2007183838A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】XSS脆弱性の検査に利用するために、クエリーパラメーター入出力関係の解析を行うこと。
【解決手段】追跡可能文字列生成部132が、元のクエリーパラメーターの値に基づいてトレース値を生成し、クエリーパラメーター入力再現部133がトレース値を用いてクエリーパラメーター入力を再現し、クエリーパラメーター入力が再現された場合に、そのトレース値を用いてクエリーパラメーター出力ページ再現部134がページ群情報記憶部120に記憶した全ページを対象としてクエリーパラメーターの値を出力するページを検出するよう構成する。なお、クエリーパラメーター入力再現部133およびクエリーパラメーター出力ページ再現部134は、ページ再現・再現結果検証部110を用いてページを再現し、再現結果を検証する。
【選択図】 図2

Description

この発明は、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置に関し、特に、出力ページを発見する対象範囲を広くするなどにより、高精度で出力ページを発見することができるクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置に関するものである。
Webアプリケーションに対してXSS(Cross Site Scripting)脆弱性を検査するときは、クエリーパラメーターに入力した文字列がそのまま出力されているページを検出するクエリーパラメーター入出力関係解析が重要となる。ここで、XSSとは、Webサイトの利用者が入力した文字列をそのまま画面に表示するプログラムが、悪意のあるスクリプトを利用者のブラウザに送ることである。XSSによる被害としては、ブラウザが悪意のあるスクリプトを実行することによってクッキーデータが盗聴されてしまうことなどがある。
図10は、クエリーパラメーター入出力関係解析を説明するための説明図である。同図に示すように、クエリーパラメーター入出力関係解析とは、クエリーパラメーターとして入力した値「XXX」を出力するページを発見することである。
クエリーパラメーターとして入力した値を出力するページを発見した後、XSS(Cross Site Scripting)脆弱性の検査は、出力ページの入力値の位置に基づいてスクリプトを挿入し、挿入したスクリプトがクライアント上で実行されるかなど調べることによって行うことができる。したがって、XSS脆弱性の検査には、クエリーパラメーターとして入力した値を出力するページを発見することが重要であり、そのようなページを発見する技術が、例えば、特許文献1に記載されている。
特開2004−164617号公報
しかしながら、かかる従来技術には、クエリーパラメーターの値を入力した直後のページだけを対象としてクエリーパラメーター値を出力するページを検索するという問題がある。図11は、かかる従来技術の問題点を説明するための説明図である。同図に示すように、従来技術では、例えば、クエリーパラメーターの値として<foo>を入力し、<foo>を出力するページがあるか否かを直後のレスポンスのページのみを対象範囲として行っている。
したがって、従来技術では、直後のレスポンスのページ以外にクエリーパラメーター値が出力されるページがある場合には、そのようなページを発見することができない。また、クエリーパラメーター値の変化に伴う遷移の変化を検出することができない。
また、クエリーパラメーターとして入力する値が一般的に使われる文字列「XXX」である場合には、ページに出力される文字列「XXX」がクエリーパラメーター値であるのかクエリーパラメーター値とは関係なく出力されるものなのかを判断することができない。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、出力ページを発見する対象範囲を広くするなどにより、高精度で出力ページを発見することができるクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1の発明に係るクエリーパラメーター出力ページ発見プログラムは、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラムであって、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手順をコンピュータに実行させることを特徴とする。
この請求項1の発明によれば、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として出力ページを検出するよう構成したので、より多くの出力ページを検出することができる。
また、請求項2の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項1の発明において、前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手順をさらにコンピュータに実行させ、前記出力ページ検出手順は、前記トレーサ値生成手順により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする。
この請求項2の発明によれば、クエリーパラメーター値より追跡性が優れたトレーサ値をクエリーパラメーター値から生成し、生成したトレーサ値を用いて出力ページを検出するよう構成したので、出力ページの誤検出を防ぐことができる。
また、請求項3の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項2の発明において、対象とするWebサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手順をさらにコンピュータに実行させ、前記出力ページ検出手順は、前記トレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする。
この請求項3の発明によれば、対象とするWebサイトが出力するページをトレーサ値を用いて再現し、再現したページが期待していたページであるか否かを検証しながら出力ページを検出するよう構成したので、正確に出力ページを検出することができる。
また、請求項4の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項3の発明において、前記ページ再現結果検証手順により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手順をさらにコンピュータに実行させ、前記出力ページ検出手順は、前記トレーサ値変更手順により変更されたトレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする。
この請求項4の発明によれば、再現したページが期待していたページでないことが検証された場合に、トレーサ値を変更し、変更したトレーサ値を用いてページ再現および再現結果の検証を繰返しながら出力ページを検出するよう構成したので、出力ページを発見する可能性を向上させることができる。
また、請求項5の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項4の発明において、前記トレーサ値変更手順は、前記トレーサ値の前後に前記クエリーパラメーター値を連結して該トレーサ値を変更することを特徴とする。
この請求項5の発明によれば、トレーサ値の前後にクエリーパラメーター値を連結してトレーサ値を変更するよう構成したので、トレーサ値を対象Webサイトに受け入れやすいものに変更することができる。
また、請求項6の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項4の発明において、前記トレーサ値変更手順は、利用者からトレーサ値を受け付けてトレーサ値を変更することを特徴とする。
この請求項6の発明によれば、利用者からトレーサ値を受け付けてトレーサ値を変更するよう構成したので、利用者にトレーサ値を指定させることができる。
また、請求項7の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項2〜6の発明において、前記トレーサ値生成手順は、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成することを特徴とする。
この請求項7の発明によれば、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成するよう構成したので、利用者をトレーサ値の生成に関与させることができる。
また、請求項8の発明に係るクエリーパラメーター出力ページ発見プログラムは、請求項3〜7の発明において、前記出力ページ検出手順は、前記ページ再現結果検証手順がページの再現に用いるページ再現経路に含まれるページだけを前記検出対象範囲として出力ページを検出することを特徴とする。
この請求項8の発明によれば、ページの再現に用いるページ再現経路に含まれるページだけを検出対象範囲として出力ページを検出するよう構成したので、出力ページの検出範囲を限定することができる。
また、請求項9の発明に係るクエリーパラメーター出力ページ発見方法は、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見方法であって、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出工程を含んだことを特徴とする。
この請求項9の発明によれば、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として出力ページを検出するよう構成したので、より多くの出力ページを検出することができる。
また、請求項10の発明に係るクエリーパラメーター出力ページ発見装置は、利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見装置であって、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手段を備えたことを特徴とする。
この請求項10の発明によれば、利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として出力ページを検出するよう構成したので、より多くの出力ページを検出することができる。
請求項1、9および10の発明によれば、より多くの出力ページを検出するので、出力ページの発見能力を向上させることができるという効果を奏する。
また、請求項2の発明によれば、出力ページの誤検出を防ぐので、高精度で出力ページを発見することができるという効果を奏する。
また、請求項3の発明によれば、正確に出力ページを検出するので、高精度で出力ページを発見することができるという効果を奏する。
また、請求項4の発明によれば、出力ページを発見する可能性を向上させるので、高精度で出力ページを発見することができるという効果を奏する。
また、請求項5の発明によれば、トレーサ値を対象Webサイトに受け入れやすいものに変更するので、ページを再現する可能性を向上させることができるという効果を奏する。
また、請求項6の発明によれば、利用者にトレーサ値を指定させるので、ページを再現する可能性を利用者自身で向上させることができるという効果を奏する。
また、請求項7の発明によれば、利用者をトレーサ値の生成に関与させるので、ページを再現する可能性を利用者自身で向上させることができるという効果を奏する。
また、請求項8の発明によれば、出力ページの検出範囲を限定するので、効率良く出力ページを発見することができるという効果を奏する。
以下に添付図面を参照して、この発明に係るクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置の好適な実施例を詳細に説明する。
まず、本実施例に係るクエリーパラメーター出力ページ群発見装置の概念について説明する。図1は、本実施例に係るクエリーパラメーター出力ページ群発見装置の概念を説明するための説明図である。
同図に示すように、本実施例に係るクエリーパラメーター出力ページ群発見装置は、元のクエリーパラメーター入力値に基づいて追跡可能なトレーサ値(追跡可能文字列)を生成し、生成したトレーサ値をクエリーパラメーター値として元のページが再現されるか否かを検査する。
ここで、追跡可能なトレーサ値とは、一般的に使用されることがほとんどなく、クエリーパラメーター入出力関係の解析に使用する値として追跡し易い値である。例えば、「会社A」をクエリーパラメーター入力値とすると、「会社A」はクエリーパラメーター入力値以外で使用される可能性が高い。そこで、本実施例に係るクエリーパラメーター出力ページ群発見装置は、「会社A」に「をを」を付加することによってトレーサ値「会社Aをを」生成し、「会社Aをを」を入力した場合に「会社A」を入力した場合と同じページが再現するか否かを検査する。
そして、「会社A」を入力した場合と同じページが再現された場合には、入力直後のページだけでなくクエリーパラメーター出力ページ群発見装置が既知ページとして保持する範囲を対象としてクエリーパラメーター値を出力するページをトレーサ値を用いて検索する。一方、入力エラーを警告するページなど、「会社A」を入力した場合と同じページが再現されない場合には、他のトレーサ値を生成してページの再現を試行錯誤する。
このように、本実施例に係るクエリーパラメーター出力ページ群発見装置は、クエリーパラメーター値入力直後のページだけでなく既知ページとして保持する全ページを対象としてクエリーパラメーター値を出力するページをトレーサ値を用いて検索することによって、従来は発見できなかったクエリーパラメーター値出力ページを発見することができる。
また、本実施例に係るクエリーパラメーター出力ページ群発見装置は、クエリーパラメーター値に基づいてトレーサ値を生成し、生成したトレーサ値をクエリーパラメーター値の代わりに用いることによって、クエリーパラメーター値とは関係なく同一の文字列が偶然に使用されているページを誤検出することを防ぐことができる。
次に、本実施例に係るクエリーパラメーター出力ページ群発見装置の構成について説明する。図2は、本実施例に係るクエリーパラメーター出力ページ群発見装置の構成を示す機能ブロック図である。
同図に示すように、このクエリーパラメーター出力ページ群発見装置100は、ページ再現・再現結果検証部110と、ページ群情報記憶部120と、出力ページ群検出部130とを有する。
ページ再現・再現結果検証部110は、対象Webサイトが出力するページを再現し、再現したページが期待したページと一致するか否かを検証する処理部である。このページ再現・再現結果検証部110は、対象Webサイトの各ページの再現試行方法および検証方法についての記録を保持し、ページの再現および再現結果の検証を行う。
ここで、再現試行方法の記録は、対象Webサイトに送信するリクエストの生成法のリストであり、検証方法の記録は、対象Webサイトに送信したリクエストの生成法のリストに対して期待されるレスポンスの性質のリストである。これらの記録は外部から参照や変更が可能である。
そして、このページ再現・再現結果検証部110は、任意のページの再現試行の指示を受けると、再現試行方法に従ってそのページの再現を試み、得られたレスポンスのリストが期待されたものだったか否かをその検証方法によって検証し、結果を通知する。
また、このページ再現・再現結果検証部110は、対象Webサイトからページ情報を収集し、収集したページをページクラスに分類するとともに、ページの遷移をモデル化してページ遷移モデルを構築する。そして、それぞれのページクラス(ページ群の分類単位)を再現試行する際に使用する再現用リクエストを一つ決め、そのリクエストを送信するときの前提条件(送信直前にどのページクラスを再現試行するか)を決めておく。
そして、あるページクラスに分類されるようなページの再現試行を要求されると、このページ再現・再現結果検証部110は、前提条件となるページクラス群をページ遷移モデルに基づいて順に再現試行していき、最後に指定ページクラスを再現用リクエストを送信することによって再現試行する。その際、それぞれのリクエストで得られたページがそのときの期待されるページクラスに分類されるかどうかを自動検証し、期待されるページクラスに分類されなかったときは再現試行を中止し、その旨を通知する。
図3は、ページ再現・再現結果検証部110により構築されるページ遷移モデルの例を示す図である。同図では、各正方形がページクラスを表現している。また、「8:結果」と書かれたページクラスの再現経路を太線で示している。
すなわち、「8:結果」の再現試行が要求されると、このページ再現・再現結果検証部110は、「9:」を、設定された再現用リクエストに基づいてリクエストし、それによって得られたページが確かに「9:」に分類されることを確認し、「9:」に分類されなかった場合には、その旨を通知する。
続いて、再現経路に沿って、「2:問題」を、設定された再現用リクエストに基づいてリクエストし、それによって得られたページが確かに「2:問題」に分類されることを確認し、「2:問題」に分類されなかった場合には、その旨を通知する。以下、「8:結果」までを同様に再現する。なお、このページ再現・再現結果検証部110の詳細については、例えば、特願2004−237551に記載されている。
ページ群情報記憶部120は、ページ遷移モデルなどページの再現および再現結果の検証に必要な情報を記憶する記憶部である。ページ再現・再現結果検証部110は、対象Webサイトから情報を収集し、ページ遷移モデルなどを構築してこのページ群情報記憶部120に格納する。
出力ページ群検出部130は、ページ再現・再現結果検証部110を用いてクエリーパラメーター出力ページを検出する処理部であり、クエリーパラメーター受付部131と、追跡可能文字列生成部132と、クエリーパラメーター入力再現部133と、クエリーパラメーター出力ページ再現部134と、発見結果出力部135と、制御部136とを有する。
クエリーパラメーター受付部131は、入出力関係解析の対象となるクエリーパラメーター群およびそれらの値や発見方針などを利用者から受け付ける処理部である。図4は、利用者が発見方針を設定する方針設定用GUIの一例を示す図である。
同図に示すように、この方針設定用GUIを用いて、利用者は前半固定文字列、後半固定文字列、再現失敗時の措置、発見対象範囲を指定することができる。ここで、前半固定文字列および後半固定文字列はトレース値の生成に用いられる文字列であり、発見対象範囲の指定は、再現経路にあるページだけを発見対象とするかページ群情報記憶部120に記憶された全ページを発見対象とするかを指定するものである。
追跡可能文字列生成部132は、クエリーパラメーター受付部131が受け付けたクエリーパラメーター値に基づいてトレース値を生成する処理部である。ここで、トレース値が備えるべき特性としては、「一意性」と「受け入れやすさ」がある。「一意性」は、通常使用されることが極めて稀であり、Webアプリケーションから出力されたときに、その要因がこの入力だとわかることであり、「受け入れやすさ」は、元のクエリーパラメーター値と同じように、すなわち、Webアプリケーションで元のクエリーパラメーター値を入力したときと同じような制御が起きるように、Webアプリケーションに受け入れられることである。
追跡可能文字列生成部132は、「受け入れやすさ」を満たすように、トレース値を構成する文字種を、URLデコード後のクエリーパラメーター値より決める。具体的には、半角英小文字[0x61,0x7A]が受け入れられる場合が最も多いと考えられるため、文字種を次のように決める。
(1)クエリーパラメーターの値に半角英小文字が含まれている場合は、半角英小文字とする。
(2)そうでなく、クエリーパラメーターの値に半角英大文字[0x41,0x5A]が含まれている場合は、半角英大文字とする。
(3)そうでなく、クエリーパラメーターの値に半角数字[0x30,0x39]が含まれている場合は、半角数字とする。
(4)そうでなく、クエリーパラメーターの値にひらがなが含まれている場合は、ひらがなとする。
(5)そうでなく、クエリーパラメーターの値に全角カタカナが含まれている場合は、全角カタカナとする。
(6)そうでなく、クエリーパラメーターの値に半角カタカナが含まれている場合は、半角カタカナとする。
(7)そうでなく、クエリーパラメーターの値にその他の多バイト文字(UTF−8において1バイトに符号化されない文字、ただし記号以外)が含まれている場合は、その文字を持つ言語の文字種(日本語のひらがなに相当)とする。
(8)そうでない場合は、半角英小文字とする。
そして、追跡可能文字列生成部132は、「一意性」を満たすように、その文字種を持つ言語において特異な文字列(通常使用されないような文字の並び)を決める。例えば、特異な文字列を以下のように決める。
(1)半角英小文字の場合は、「qz」
(2)半角英大文字の場合は、「QZ」
(3)半角数字の場合は、「7654」
(4)ひらがなの場合は、「をを」
(5)全角カタカナの場合は、「ヲヲ」
(6)半角カタカナの場合は、「ヲヲ(半角のヲ)」
さらに、追跡可能文字列生成部132は、「一意性」を満たすように、場合の数の大きさが対象クエリーパラメーター総数になる最短文字列空間から未使用の文字列を使用することを決める。例えば、対象クエリーパラメーター総数が676個で文字種が半角英小文字の場合、場合の数の大きさが676になる最短文字列は2文字(英小文字の数は26であるので、2文字からなる文字列空間の場合の数の大きさは26×26=676)であるため、「aa」〜「zz」からなる2文字の文字列空間から未使用の文字列を使用する。また、クエリーパラメーターの数が677個であれば最短文字列空間は3文字の文字列空間となり、「aaa」〜「baa」からなる文字列空間から未使用の文字列を使用する。したがって、半角英小文字の場合は、「qzaa」などとなる。
これに図4で示したGUIで利用者が指定した「前半固定文字列」および「後半固定文字列」をそれぞれ前後に連結したものを、追跡可能文字列生成部132は、「デフォルトのトレース値」とする。このような所定の文字列の連結は、対象Webアプリケーションがクエリーパラメーターの値の前半あるいは後半に特定の文字列がある場合に受け入れやすいということが予めわかっている場合などに有用となる。
このように、追跡可能文字列生成部132が、クエリーパラメーター受付部131が受け付けたクエリーパラメーター値に基づいて、「一意性」と「受け入れやすさ」に優れたトレース値を生成することによって、クエリーパラメーター値出力ページの発見を精度良くかつ効率的に行うことができる。
また、この追跡可能文字列生成部132は、クエリーパラメーター入力再現部133の指示に基づいて、トレース値の再生成を行う。具体的には、クエリーパラメーターの元の値をオリジナル値とすると、
(1)オリジナル値+「デフォルトのトレース値」
(2)「デフォルトのトレース値」+オリジナル値
(3)オリジナル値+「デフォルトのトレース値」+オリジナル値
を生成する。ここで「+」は文字列の連結を示す。なお、トレース値を再生成する場合に、オリジナル値を連結する理由は、オリジナル値が受け入れられたWebアプリケーションには、オリジナル値が前後にある文字列が受け入れやすいためである。
また、この追跡可能文字列生成部132は、再生成したトレース値が受け入れられなかった場合に、クエリーパラメーター入力再現部133の指示に基づいて、トレース値の作成を利用者に依頼する。
図5は、トレース値の指定用GUIの一例を示す図である。同図に示すように、このGUIでは、試行した値が示され、利用者に次に試行する値の入力を依頼する。そして、利用者がトレース値を入力し、「再試行」ボタンを押すとトレース値をクエリーパラメーター入力再現部133に渡す。一方、利用者がトレース値を入力することなく「このパラメーターの出力ページ群発見を諦める」ボタンを押すとその旨をクエリーパラメーター入力再現部133に通知する。
クエリーパラメーター入力再現部133は、ページ再現・再現結果検証部110を用いてクエリーパラメーターの入力を再現する処理部である。すなわち、このクエリーパラメーター入力再現部133は、クエリーパラメーターの入力によって生成される元リクエストから、クエリーパラメーター値をトレース値に変更した検査リクエストを生成し、ページ再現・再現結果検証部110を用いて、元リクエストによって得られたぺージが分類されたページクラスに分類されるページを再現することを試みる。その結果、元リクエストと同じページクラスに分類されるページが再現された場合には、トレース値が対象Webアプリケーションに受け入れられたとものとする。
例えば、
http://example.com/?p1=small&p2=CAPITAL
からは、「p1」が対象のときには「p1」の値を「qzaa」に変更した検査リクエスト
http://example.com/?p1=qzaa&p2=CAPITAL
などが生成され、「p2」が対象のときには「p2」の値を「QZAB」に変更した検査リクエスト
http://example.com/?p1=small&p2=QZAB
などが、それぞれ検査リクエストとして生成される。
また、例えば、図3のページクラス「4:」の再現用リクエスト
http://example.com/?p=v
のクエリーパラメーター「p」を対象としているとき、「p」の値を「qzac」に変更した検査リクエストを生成し、ページクラス「4:」を再現する場合には、クエリーパラメーター入力再現部133は、ページ再現・再現結果検証部110に「3:住所・氏名・年齢・電話番号の入力」の再現試行を指示し、それに成功した場合に(失敗した場合には、致命的なエラーの旨を出力し、発見処理を中止する)検査リクエストを送信する。そして、それによって得られたページが元と同じページクラスである「4:」に分類されるか否かを検証する。
また、クエリーパラメーター入力再現部133は、元リクエストによって得られたぺージが分類されたページクラスに分類されるページを再現することを試みて、その結果、元リクエストと同じページクラスに分類されるページが再現されなかった場合、すなわち、得られたページが想定されたページクラスに分類されなかった場合には、トレース値がWebアプリケーションに受け入れられなかったとする。これは、Webアプリケーションでは入力パラメーター値を受け入れたか否かの結果は直後に出力することが多いためである。
そして、クエリーパラメーター入力再現部133は、再試行が設定されていた場合、すなわち、図4に示した方針設定用GUIで「再現失敗時に、元の値を前後に連結した値で再試行する。」が設定されていた場合には、追跡可能文字列生成部132にトレース値の再生成を指示し、再生成されたトレース値を用いて再試行する。
また、クエリーパラメーター入力再現部133は、追跡可能文字列生成部132によって再生成されたトレース値が受け入れられなかった場合には、トレース値の手動指定がされているとき、すなわち、図4に示した方針設定用GUIで「再現失敗時に、適切な入力を求めるダイアログを表示する。」が設定されていたときには、利用者にトレース値を指定してもらうように追跡可能文字列生成部132に指示する。
そして、利用者によってトレース値が指定された場合には、指定されたトレース値を用いて再試行する。一方、利用者がこのクエリーパラメーターに関する出力ページの発見を諦めた場合には、再現を中止する。
クエリーパラメーター出力ページ再現部134は、ページ再現・再現結果検証部110を用いて、クエリーパラメーター値を出力するページを検出する処理部である。すなわち、このクエリーパラメーター出力ページ再現部134は、クエリーパラメーター入力再現部133によるクエリーパラメーター入力の再現が成功した場合に、成功した検査リクエストを再現用リクエストとして使用しながら、発見対象候補となる全ページクラスをページ再現・再現結果検証部110を用いて再現し、その検査リクエストに設定されているトレース値の出力を監視し、クエリーパラメーター値を出力するページを検出する。
例えば、図3に示したページクラス「4:」の再現用リクエスト
http://example.com/?p=v
のクエリーパラメーター「p」を対象として「p」の値を「qzac」に変更した検査リクエスト
http://example.com/?p=qzac
が「4:」を再現したとする。
すると、クエリーパラメーター出力ページ再現部134は、「p」の元の値である「v」が含まれているページを、ページ群情報記憶部120に記憶された全ページの情報から検索することによって、どのページクラスにクエリーパラメーター値が出力しうるか絞り込み、それらページクラスを候補ページクラス群とする。
例えば、図3で「1:」、「7:確認」、「8:結果」の三つが候補ページクラス群とする(すなわち、この三つのページクラスに分類されたページに「v」が出力されている)。このとき、クエリーパラメーター出力ページ再現部134は、「1:」および「8:結果」の再現試行をページ再現・再現結果検証部110に指示する。ここで、「7:確認」は「8:結果」の再現経路上なので、「8:結果」を再現すれば「7:確認」も再現されるため、ページ再現・再現結果検証部110には「7:確認」の再現試行は指示しない。
この再現試行の際、「4:」を経由する場合は、「4:」を再現試行する際に使用するリクエストは検査リクエストで代替する。クエリーパラメーター出力ページ再現部134は、再現しながら、「1:」、「7:確認」、「8:結果」においてトレース値「qzac」が出力されるかどうか監視し、出力された場合は、そのページクラスを発見したページとして出力する。
なお、再現試行にあたって、再現が失敗した場合に、その原因を推測することは困難なので、失敗した旨だけを出力する。また、「4:」を経由しない「1:」のようなページクラスは効率化のため、図4に示した方針設定用GUIで「再現経路以外のノード(ノードはページクラス)も発見対象とする。」が設定されていないときには、検査対象から除外する。これは、クエリーパラメーターを入力してから辿るようなページ(ここの例では「4:」を経由するページ)の方が、クエリーパラメーターを入力せずに辿るようなページ(ここの例では「4:」を経由しないページ)よりも入力したクエリーパラメーター値が出力されやすいためである。
発見結果出力部135は、クエリーパラメーター出力ページ再現部134が検出したクエリーパラメーター値出力ページなど解析結果を出力する処理部である。図6は、発見結果出力部135が出力する解析結果出力の一例を示す図である。
同図では、ノード(ページクラス)「3」から「4」に遷移したページに含まれていた「action」、「address」、「age」の三つのクエリーパラメーターについての解析結果を示している。
例えば、「age」については、次のような情報が出力されている。
・元の値は「30」であり、全ページのうちこの「30」が出力されていたページクラス群はノード「6」および「7」である。
・その後、トレース値(追跡可能文字列)として「76540000000003」や他の三つの値による検査リクエストを試行したが、それらは全て元のノード「4」に遷移せず「3」に遷移した。また、遷移したページには追跡可能文字列は発見されなかった。
・その後、追跡可能文字列として「117」による検査リクエストを試行したら元のノード「4」が再現したため、ノード「6,7」の再現を試みた。その結果、
「6」は再現されたが、そこに追跡可能文字列「117」は発見されなかった。
「7」は再現され、そこに追跡可能文字列「117」が発見された。
ここで、図3に示したように、発見されたノード「7」に分類されるページはノード「3」の直後のページではなく、直後のページしか発見対象範囲としていなかった従来技術では発見できなかったページが発見されていることがわかる。
制御部136は、クエリーパラメーター出力ページ群発見装置100全体の制御を行う処理部であり、具体的には、機能部間の制御の移動や機能部と記憶部の間のデータの受け渡しなどを行うことによって、クエリーパラメーター出力ページ群発見装置100を一つの装置として機能させる。
次に、出力ページ群検出部130の処理手順について説明する。図7は、出力ページ群検出部130の処理手順を示すフローチャートである。同図に示すように、出力ページ群検出部130は、まず、クエリーパラメーター受付部131が発見対象クエリーパラメーター群指定や方針指定などを受け付け(ステップS101)、制御部136がクエリーパラメーターごとにステップS102〜ステップS118間の処理を繰り返すように制御する。
繰返し処理としては、追跡可能文字列生成部132がクエリーパラメーター値に基づいて追跡可能文字列(トレース値)を生成し(ステップS103)、クエリーパラメーター入力再現部133が追跡可能文字列を含む検査リクエストによって元のページの再現試行をページ再現・再現結果検証部110に指示する(ステップS104)。
そして、クエリーパラメーター入力再現部133は、元のページが再現したか否か判定する(ステップS105)。その結果、再現しない場合には、制御部136が終了条件を満たしたか否かを判定し(ステップS106)、終了条件を満たしていない場合には、制御をステップS103に戻し、追跡可能文字列を再生成させ、終了条件を満たした場合には、発見処理に失敗したクエリーパラメーターとして記録し(ステップS107)、次のクエリーパラメーターに対して処理を行う。ここで、終了条件は、図4に示した発見方針設定用GUIで利用者によって設定された発見方針に基づいて決定される条件であり、再試行を行うか否かなどである。
一方、元のページが再現した場合には、制御部136は、検査リクエストを再現用リクエストに設定し(ステップS108)、発見対象のページ、すなわち、元のクエリーパラメーター値が出力されている候補ページごとに、ステップS109〜ステップS116間の処理を繰り返す。
繰返し処理としては、クエリーパラメーター出力ページ再現部134が、追跡可能文字列を用いてページの再現試行をページ再現・再現結果検証部110に指示し(ステップS110)、ページが再現したか否かを判定する(ステップS111)。
その結果、ページが再現した場合には、クエリーパラメーター出力ページ再現部134は、ページ出力から追跡可能文字列を検索し(ステップS112)、追跡可能文字列を発見したか否かを判定する(ステップS113)。そして、追跡可能文字列を発見した場合には、クエリーパラメーター出力ページ再現部134は、クエリーパラメーターの出力を発見したページとして記録する(ステップS114)。
一方、ページが再現しなかった場合には、クエリーパラメーター出力ページ再現部134は、発見処理に失敗したページとして記録する(ステップS115)。
そして、ステップS109〜ステップS116間の繰返し処理が全ての候補ページについて終了すると、制御部136は、再現用リクエストを元に戻して、次のクエリーパラメーターに対して処理を行う。
最後に、発見結果出力部135が、発見結果(解析結果)を出力して処理を終了する(ステップS119)。
このように、出力ページ群検出部130は、追跡可能文字列を生成し、ページ再現・再現結果検証部110を用いてページを再現しながら追跡可能文字列の出力を監視することによって、クエリーパラメーターの出力ページを発見することができる。
次に、本実施例に係るクエリーパラメーター出力ページ群発見装置100が奏する効果と主な処理の流れの関係について説明する。図8は、本実施例に係るクエリーパラメーター出力ページ群発見装置100が奏する効果と主な処理の流れの関係を説明するための説明図である。
同図に示すように、従来は、クエリーパラメーターの値の入力直後のレスポンスページのみを検出対象としていたため、検出結果が狭い範囲に制限されていた。そこで、本実施例に係るクエリーパラメーター出力ページ群発見装置100は、クエリーパラメーターを選択し(ステップS1)、選択したクエリーパラメーターについて全ページを再現し(ステップS4)、クエリーパラメーター値の出力ページであるか否かなどを示す検出結果を出力する(ステップS5)ことによって、検出範囲を広げることとしている。
例えば、クエリーパラメーターとして「apple」を選択し(ステップS1)、「apple」という文字列の出力を全ページを再現しながら監視し(ステップS4)、「apple」と出力されているページを発見したページとして出力する(ステップS5)ので、検出範囲を広げることができる。
さらに、本実施例に係るクエリーパラメーター出力ページ群発見装置100は、クエリーパラメーターを選択し(ステップS1)、選択したクエリーパラメーターの元の値を参考にして追跡可能文字列を生成し(ステップS2)、生成した追跡可能文字列を用いた新リクエストでも元のページが再現することを確認し(ステップS3)、生成した追跡可能文字列を監視しながら全ページを再現し(ステップS4)、追跡可能文字列の出力ページなどの検出結果を出力する(ステップS5)ことによって、誤検出を減らすこととしている。
例えば、クエリーパラメーターとして「apple」を選択し(ステップS1)、「apple」を参考にして「goggole」を生成し(ステップS2)、「goggole」で元のページが再現することを確認し(ステップS3)、再現する場合には、「goggole」という文字列の出力を全ページを再現しながら監視し(ステップS4)、「goggole」と出力されているページを発見したページとして出力する(ステップS5)ので、「goggole」が関係ないページにも出力されている可能性は低いことから、誤検出を減らすことができる。
上述してきたように、本実施例では、追跡可能文字列生成部132が、元のクエリーパラメーターの値に基づいてトレース値を生成し、クエリーパラメーター入力再現部133がトレース値を用いてクエリーパラメーター入力を再現し、クエリーパラメーター入力が再現された場合に、そのトレース値を用いてクエリーパラメーター出力ページ再現部134がページ群情報記憶部120に記憶した全ページを対象としてクエリーパラメーターの値を出力するページを検出することとしたので、利用者が入力したクエリーパラメーター値を出力する出力ページを高精度で発見することができる。
なお、クエリーパラメーター入力再現部133およびクエリーパラメーター出力ページ再現部134は、ページ再現・再現結果検証部110を用いてページを再現し、再現結果を検証する。
また、本実施例では、ページ再現・再現結果検証部110を用いてページを再現する場合について説明したが、本発明はこれに限定されるものではなく、対象Webサイトと実際に通信しながらページの再現試行を行う場合にも同様に適用することができる。
また、本実施例では、クエリーパラメーター出力ページ群発見装置について説明したが、クエリーパラメーター出力ページ群発見装置が有する構成をソフトウェアによって実現することで、同様の機能を有するクエリーパラメーター出力ページ群発見プログラムを得ることができる。そこで、このクエリーパラメーター出力ページ群発見プログラムを実行するコンピュータについて説明する。
図9は、本実施例に係るクエリーパラメーター出力ページ群発見プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ200は、RAM210と、CPU220と、HDD230と、LANインタフェース240と、入出力インタフェース250と、DVDドライブ260とを有する。
RAM210は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU220は、RAM210からプログラムを読み出して実行する中央処理装置である。
HDD230は、プログラムやデータを格納するディスク装置であり、LANインタフェース240は、コンピュータ200をLAN経由で他のコンピュータに接続するためのインタフェースである。
入出力インタフェース250は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、DVDドライブ260は、DVDの読み書きを行う装置である。
そして、このコンピュータ200において実行されるクエリーパラメーター出力ページ群発見プログラム211は、DVDに記憶され、DVDドライブ260によってDVDから読み出されてコンピュータ200にインストールされる。
あるいは、このクエリーパラメーター出力ページ群発見プログラム211は、LANインタフェース240を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ200にインストールされる。
そして、インストールされたクエリーパラメーター出力ページ群発見プログラム211は、HDD230に記憶され、RAM210に読み出されてCPU220によってクエリーパラメーター出力ページ群発見プロセス221として実行される。
(付記1)利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラムであって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手順
をコンピュータに実行させることを特徴とするクエリーパラメーター出力ページ発見プログラム。
(付記2)前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値生成手順により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする付記1に記載のクエリーパラメーター出力ページ発見プログラム。
(付記3)対象とするWebサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする付記2に記載のクエリーパラメーター出力ページ発見プログラム。
(付記4)前記ページ再現結果検証手順により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手順をさらにコンピュータに実行させ、
前記出力ページ検出手順は、前記トレーサ値変更手順により変更されたトレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする付記3に記載のクエリーパラメーター出力ページ発見プログラム。
(付記5)前記トレーサ値変更手順は、前記トレーサ値の前後に前記クエリーパラメーター値を連結して該トレーサ値を変更することを特徴とする付記4に記載のクエリーパラメーター出力ページ発見プログラム。
(付記6)前記トレーサ値変更手順は、利用者からトレーサ値を受け付けてトレーサ値を変更することを特徴とする付記4に記載のクエリーパラメーター出力ページ発見プログラム。
(付記7)前記トレーサ値生成手順は、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成することを特徴とする付記2〜6のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
(付記8)前記出力ページ検出手順は、前記ページ再現結果検証手順がページの再現に用いるページ再現経路に含まれるページだけを前記検出対象範囲として出力ページを検出することを特徴とする付記3〜7のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
(付記9)利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見方法であって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出工程
を含んだことを特徴とするクエリーパラメーター出力ページ発見方法。
(付記10)前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成工程をさらに含み、
前記出力ページ検出工程は、前記トレーサ値生成工程により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする付記9に記載のクエリーパラメーター出力ページ発見方法。
(付記11)対象とするWebサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証工程をさらに含み、
前記出力ページ検出工程は、前記トレーサ値を用いて前記ページ再現結果検証工程によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする付記10に記載のクエリーパラメーター出力ページ発見方法。
(付記12)前記ページ再現結果検証工程により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更工程をさらに含み、
前記出力ページ検出工程は、前記トレーサ値変更工程により変更されたトレーサ値を用いて前記ページ再現結果検証工程によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする付記11に記載のクエリーパラメーター出力ページ発見方法。
(付記13)利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見装置であって、
利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手段
を備えたことを特徴とするクエリーパラメーター出力ページ発見装置。
(付記14)前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手段をさらに備え、
前記出力ページ検出手段は、前記トレーサ値生成手段により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする付記13に記載のクエリーパラメーター出力ページ発見装置。
(付記15)対象とするWebサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手段をさらに備え、
前記出力ページ検出手段は、前記トレーサ値を用いて前記ページ再現結果検証手段によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする付記14に記載のクエリーパラメーター出力ページ発見装置。
(付記16)前記ページ再現結果検証手段により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手段をさらに備え、
前記出力ページ検出手段は、前記トレーサ値変更手段により変更されたトレーサ値を用いて前記ページ再現結果検証手段によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする付記15に記載のクエリーパラメーター出力ページ発見装置。
以上のように、本発明に係るクエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置は、Webアプリケーションの検査に有用であり、特に、XSS脆弱性の有無の検査に適している。
本実施例に係るクエリーパラメーター出力ページ群発見装置の概念を説明するための説明図である。 本実施例に係るクエリーパラメーター出力ページ群発見装置の構成を示す機能ブロック図である。 ページ再現・再現結果検証部により構築されるページ遷移モデルの例を示す図である。 利用者が発見方針を設定する方針設定用GUIの一例を示す図である。 トレース値の指定用GUIの一例を示す図である。 発見結果出力部が出力する解析結果出力の一例を示す図である。 出力ページ群検出部の処理手順を示すフローチャートである。 本実施例に係るクエリーパラメーター出力ページ群発見装置が奏する効果と主な処理の流れの関係を説明するための説明図である。 本実施例に係るクエリーパラメーター出力ページ群発見プログラムを実行するコンピュータの構成を示す機能ブロック図である。 クエリーパラメーター入出力関係解析を説明するための説明図である。 従来技術の課題を説明するための説明図である。
符号の説明
100 クエリーパラメーター出力ページ群発見装置
110 ページ再現・再現結果検証部
120 ページ群情報記憶部
130 出力ページ群検出部
131 クエリーパラメーター受付部
132 追跡可能文字列生成部
133 クエリーパラメーター入力再現部
134 クエリーパラメーター出力ページ再現部
135 発見結果出力部
136 制御部
200 コンピュータ
210 RAM
211 クエリーパラメーター出力ページ群発見プログラム
220 CPU
221 クエリーパラメーター出力ページ群発見プロセス
230 HDD
240 LANインタフェース
250 入出力インタフェース
260 DVDドライブ

Claims (10)

  1. 利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見プログラムであって、
    利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手順
    をコンピュータに実行させることを特徴とするクエリーパラメーター出力ページ発見プログラム。
  2. 前記クエリーパラメーター値より追跡性が優れたトレーサ値を該クエリーパラメーター値から生成するトレーサ値生成手順をさらにコンピュータに実行させ、
    前記出力ページ検出手順は、前記トレーサ値生成手順により生成されたトレーサ値を用いて前記出力ページを検出することを特徴とする請求項1に記載のクエリーパラメーター出力ページ発見プログラム。
  3. 対象とするWebサイトが出力するページを再現し、該再現したページが期待していたページであるか否かを検証するページ再現結果検証手順をさらにコンピュータに実行させ、
    前記出力ページ検出手順は、前記トレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を行いながら前記出力ページを検出することを特徴とする請求項2に記載のクエリーパラメーター出力ページ発見プログラム。
  4. 前記ページ再現結果検証手順により再現したページが期待していたページでないことが検証された場合に、前記トレーサ値を変更するトレーサ値変更手順をさらにコンピュータに実行させ、
    前記出力ページ検出手順は、前記トレーサ値変更手順により変更されたトレーサ値を用いて前記ページ再現結果検証手順によるページ再現および再現結果の検証を繰返しながら前記出力ページを検出することを特徴とする請求項3に記載のクエリーパラメーター出力ページ発見プログラム。
  5. 前記トレーサ値変更手順は、前記トレーサ値の前後に前記クエリーパラメーター値を連結して該トレーサ値を変更することを特徴とする請求項4に記載のクエリーパラメーター出力ページ発見プログラム。
  6. 前記トレーサ値変更手順は、利用者からトレーサ値を受け付けてトレーサ値を変更することを特徴とする請求項4に記載のクエリーパラメーター出力ページ発見プログラム。
  7. 前記トレーサ値生成手順は、一意性を有する文字列の前後に利用者が指定した文字列を連結してトレーサ値を生成することを特徴とする請求項2〜6のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
  8. 前記出力ページ検出手順は、前記ページ再現結果検証手順がページの再現に用いるページ再現経路に含まれるページだけを前記検出対象範囲として出力ページを検出することを特徴とする請求項3〜7のいずれか一つに記載のクエリーパラメーター出力ページ発見プログラム。
  9. 利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見方法であって、
    利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出工程
    を含んだことを特徴とするクエリーパラメーター出力ページ発見方法。
  10. 利用者が入力したクエリーパラメーター値を出力する出力ページを発見するクエリーパラメーター出力ページ発見装置であって、
    利用者がクエリーパラメーター値を入力したページの直後のページだけでなく対象Webサイトの出力するページを検出対象範囲として前記出力ページを検出する出力ページ検出手段
    を備えたことを特徴とするクエリーパラメーター出力ページ発見装置。
JP2006001879A 2006-01-06 2006-01-06 クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置 Withdrawn JP2007183838A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006001879A JP2007183838A (ja) 2006-01-06 2006-01-06 クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置
US11/412,957 US20070162427A1 (en) 2006-01-06 2006-04-28 Query parameter output page finding method, query parameter output page finding apparatus, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006001879A JP2007183838A (ja) 2006-01-06 2006-01-06 クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置

Publications (1)

Publication Number Publication Date
JP2007183838A true JP2007183838A (ja) 2007-07-19

Family

ID=38233896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006001879A Withdrawn JP2007183838A (ja) 2006-01-06 2006-01-06 クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置

Country Status (2)

Country Link
US (1) US20070162427A1 (ja)
JP (1) JP2007183838A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009061588A1 (en) * 2007-11-05 2009-05-14 Microsoft Corporation Cross-site scripting filter
US8646029B2 (en) 2011-05-24 2014-02-04 Microsoft Corporation Security model for a layout engine and scripting engine
US9342274B2 (en) 2011-05-19 2016-05-17 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
US9430452B2 (en) 2013-06-06 2016-08-30 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780684B (zh) * 2011-05-12 2015-02-25 同济大学 Xss防御系统
JP5754301B2 (ja) * 2011-08-25 2015-07-29 日本電気株式会社 トランザクション同時実行制御システム、トランザクション同時実行制御方法、およびプログラム
WO2014018029A1 (en) * 2012-07-25 2014-01-30 Hewlett-Packard Development Company, L.P. Determining application vulnerabilities
CN103927478B (zh) * 2013-01-10 2018-10-09 腾讯科技(深圳)有限公司 一种脚本漏洞的检测方法、设备、系统及总控服务器
CN104636664B (zh) * 2013-11-08 2018-04-27 腾讯科技(深圳)有限公司 基于文档对象模型的跨站脚本攻击漏洞检测方法及装置
JP7021544B2 (ja) * 2018-01-31 2022-02-17 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
CN114153729A (zh) * 2021-11-30 2022-03-08 北京达佳互联信息技术有限公司 网页测试方法、装置、电子设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370552B1 (en) * 1997-05-14 2002-04-09 Citrix Systems, Inc. Apparatus and method for displaying application output in an HTML document
US6058482A (en) * 1998-05-22 2000-05-02 Sun Microsystems, Inc. Apparatus, method and system for providing network security for executable code in computer and communications networks
AU2001237696A1 (en) * 2000-03-03 2001-09-12 Sanctum Ltd. System for determining web application vulnerabilities
GB2357939B (en) * 2000-07-05 2002-05-15 Gfi Fax & Voice Ltd Electronic mail message anti-virus system and method
US6996845B1 (en) * 2000-11-28 2006-02-07 S.P.I. Dynamics Incorporated Internet security analysis system and process
US7200599B2 (en) * 2001-06-21 2007-04-03 Microsoft Corporation Automated generator of input-validation filters
AU2003210900A1 (en) * 2002-02-07 2003-09-02 Empirix Inc. Automated security threat testing of web pages
IL163530A0 (en) * 2002-02-19 2005-12-18 Pureprofile Com Inc System for permission-based communication and exchange of information
JP4363868B2 (ja) * 2002-08-23 2009-11-11 株式会社東芝 検索キーワード分析プログラム及びシステム並びに方法
US7188369B2 (en) * 2002-10-03 2007-03-06 Trend Micro, Inc. System and method having an antivirus virtual scanning processor with plug-in functionalities
US7343626B1 (en) * 2002-11-12 2008-03-11 Microsoft Corporation Automated detection of cross site scripting vulnerabilities
US6980927B2 (en) * 2002-11-27 2005-12-27 Telos Corporation Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing continuous risk assessment
CA2566768C (en) * 2004-05-14 2016-07-05 Orderly Mind Limited Queuing system, method and computer program product for managing the provision of services over a communications network
US7207065B2 (en) * 2004-06-04 2007-04-17 Fortify Software, Inc. Apparatus and method for developing secure software
JP2007004685A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 通信情報監視装置
US20070136809A1 (en) * 2005-12-08 2007-06-14 Kim Hwan K Apparatus and method for blocking attack against Web application
US20070192344A1 (en) * 2005-12-29 2007-08-16 Microsoft Corporation Threats and countermeasures schema
US8151327B2 (en) * 2006-03-31 2012-04-03 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US20080034424A1 (en) * 2006-07-20 2008-02-07 Kevin Overcash System and method of preventing web applications threats
US20080047009A1 (en) * 2006-07-20 2008-02-21 Kevin Overcash System and method of securing networks against applications threats

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009061588A1 (en) * 2007-11-05 2009-05-14 Microsoft Corporation Cross-site scripting filter
US10248415B2 (en) 2011-05-19 2019-04-02 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
US9342274B2 (en) 2011-05-19 2016-05-17 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
US8904474B2 (en) 2011-05-24 2014-12-02 Microsoft Corporation Security model for a layout engine and scripting engine
US8881101B2 (en) 2011-05-24 2014-11-04 Microsoft Corporation Binding between a layout engine and a scripting engine
US8918759B2 (en) 2011-05-24 2014-12-23 Microsoft Corporation Memory model for a layout engine and scripting engine
US9116867B2 (en) 2011-05-24 2015-08-25 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine
US9244896B2 (en) 2011-05-24 2016-01-26 Microsoft Technology Licensing, Llc Binding between a layout engine and a scripting engine
US8689182B2 (en) 2011-05-24 2014-04-01 Microsoft Corporation Memory model for a layout engine and scripting engine
US9582479B2 (en) 2011-05-24 2017-02-28 Microsoft Technology Licensing, Llc Security model for a layout engine and scripting engine
US9830305B2 (en) 2011-05-24 2017-11-28 Microsoft Technology Licensing, Llc Interface definition language extensions
US9830306B2 (en) 2011-05-24 2017-11-28 Microsoft Technology Licensing, Llc Interface definition language extensions
US8646029B2 (en) 2011-05-24 2014-02-04 Microsoft Corporation Security model for a layout engine and scripting engine
US9430452B2 (en) 2013-06-06 2016-08-30 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine
US10282238B2 (en) 2013-06-06 2019-05-07 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine
US10353751B2 (en) 2013-06-06 2019-07-16 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine

Also Published As

Publication number Publication date
US20070162427A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
JP2007183838A (ja) クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置
Li et al. Two decades of Web application testing—A survey of recent advances
US9164878B2 (en) Evaluating coverage of a software test
TWI498752B (zh) 使用簡易貝氏機率模型從未經結構化之資料中擷取資訊並將資訊映射至經結構化之架構描述
US6832220B1 (en) Method and apparatus for file searching, accessing file identifiers from reference page
US7765505B2 (en) Design rule management method, design rule management program, rule management apparatus and rule verification apparatus
US7757164B2 (en) Page information collection program, page information collection method, and page information collection apparatus
US7730461B2 (en) Software tool configured to generate test cases characterized by a linear range of integral values
JP2008015709A (ja) テスト支援プログラム、テスト支援装置、およびテスト支援方法
WO2013075612A1 (zh) 自动登录方法及装置
JP4193196B1 (ja) Webサービス提供システム検査装置及びWebサービス提供システム検査プログラム
JP2018116497A (ja) 画面判定装置及びプログラム
KR20190085661A (ko) 웹사이트 검증 방법
CN114844689A (zh) 一种基于有限状态机的网站逻辑漏洞检测方法及系统
US20140337069A1 (en) Deriving business transactions from web logs
CN111949537A (zh) 接口的测试方法、装置、设备和介质
WO2020230241A1 (ja) テスト装置、テスト方法及びプログラム
CN107797917A (zh) 性能测试脚本生成方法及装置
CN116361793A (zh) 代码检测方法、装置、电子设备及存储介质
JP3705331B2 (ja) ハイパーテキスト解析装置及び方法、ハイパーテキスト解析プログラムを記録した記憶媒体
CN113886221B (zh) 测试脚本生成方法、装置、存储介质及电子设备
CN110244986A (zh) 浏览器配置方法和装置
JP5404721B2 (ja) シナリオテストのテスト項目生成装置及び方法及びプログラム
JP2011034274A (ja) テスト自動実行システム
CN112380116A (zh) 浏览器对比测试方法、装置和浏览器数据转发方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080424

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100528