JP4170243B2 - Web application inspection device - Google Patents

Web application inspection device Download PDF

Info

Publication number
JP4170243B2
JP4170243B2 JP2004062061A JP2004062061A JP4170243B2 JP 4170243 B2 JP4170243 B2 JP 4170243B2 JP 2004062061 A JP2004062061 A JP 2004062061A JP 2004062061 A JP2004062061 A JP 2004062061A JP 4170243 B2 JP4170243 B2 JP 4170243B2
Authority
JP
Japan
Prior art keywords
inspection
macro
web application
web
information
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.)
Expired - Fee Related
Application number
JP2004062061A
Other languages
Japanese (ja)
Other versions
JP2005250945A (en
Inventor
清人 河内
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004062061A priority Critical patent/JP4170243B2/en
Publication of JP2005250945A publication Critical patent/JP2005250945A/en
Application granted granted Critical
Publication of JP4170243B2 publication Critical patent/JP4170243B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、Webアプリケーションのセキュリティホールの有無を診断するシステムに関するものである。例えば、Webアプリケーションを検査するウェブアプリケーション検査装置に関する。   The present invention relates to a system for diagnosing the presence / absence of a security hole in a Web application. For example, the present invention relates to a web application inspection apparatus that inspects a web application.

Webアプリケーションとは、Webサーバ上で動作し、Microsoft社のInternet Explorer(登録商標)等のWebブラウザソフトに表示されるWebページ上のフォームを操作することで利用可能なサービスである。すなわち、Webアプリケーションとは、Webサーバ上で動作して所定のサービスを提供するソフトウェア、あるいはプログラムを示す。フォーム上で入力されたデータには、データ名が付与され、Webアプリケーションへ送信される。   The web application is a service that operates on a web server and can be used by operating a form on a web page displayed on web browser software such as Microsoft Internet Explorer (registered trademark) of Microsoft Corporation. That is, the web application refers to software or a program that operates on a web server and provides a predetermined service. Data entered on the form is given a data name and transmitted to the Web application.

図13は、従来の検査装置からWebサーバへ送信される情報の内容を示す図である。入力された各データの名前は、HTMLソースを示す図13(b)にあるように、各フォーム部品を表すタグのnameアトリビュートによって決定される。このようにフォームから入力されるデータのことを、以後「パラメータ」(入力パラメータ)と呼ぶことにする。   FIG. 13 is a diagram showing the contents of information transmitted from a conventional inspection apparatus to a Web server. As shown in FIG. 13B showing the HTML source, the name of each input data is determined by the name attribute of the tag representing each form part. Data input from the form in this way is hereinafter referred to as “parameter” (input parameter).

パラメータをWebアプリケーションに送信するために、大きく二種類の方法がある。一つはリクエストURLの一部として送信する方法(図13(c))であり、もうひとつはHTTPリクエストのボディ部として送信する方法である(図13(d))。どちらの方式で送信するかはそのパラメータの入力元となるページのHTMLの内容によって指定される。   There are two main methods for transmitting parameters to a Web application. One is a method of transmitting as a part of a request URL (FIG. 13C), and the other is a method of transmitting as a body part of an HTTP request (FIG. 13D). Which method is used for transmission is specified by the HTML content of the page from which the parameter is input.

パラメータ以外にも、ブラウザからWebアプリケーションへ送信されるデータが幾つか存在する。代表的なものとしては、Cookieと呼ばれるデータであるが、他にもHTTPリクエスト中のRefererヘッダやUser−Agentヘッダ等を入力として使用するWebアプリケーションもある。   In addition to the parameters, there are some data transmitted from the browser to the web application. A typical example is data called Cookie, but there are other Web applications that use a Referer header or User-Agent header in an HTTP request as an input.

Webアプリケーションの脆弱性診断は、上記パラメータやCookie等Webアプリケーションに入力されるデータに擬似攻撃データを含ませたリクエストを送信し、そのリクエストに対するWebアプリケーションの応答にセキュリティホールの存在を示唆するような痕跡が無いかどうかを解析することで実施される。代表的な製品としては米国Sanctum社のAppScan(登録商標)を挙げることができる(例えば、非特許文献1)。   Vulnerability diagnosis of a Web application sends a request that includes pseudo attack data in the data input to the Web application, such as the above parameters and Cookie, and suggests the existence of a security hole in the response of the Web application to the request This is done by analyzing whether there are any traces. As a typical product, AppScan (registered trademark) of Sanctum, USA can be cited (for example, Non-Patent Document 1).

図14は、従来のWebアプリケーション診断システムの動作の概略を示すフローチャートである。図14を参照しながら、従来のWebアプリケーションの脆弱性診断システムの動作について述べる。システムはまず、サイト構成情報の収集作業を行う(ステップ1802)。これはそのサイトの構造や、各ページに移動するための正しいパラメータやCookieといった情報を収集する処理である。この処理は自動もしくはユーザのブラウザ操作をモニタすることで行われる。   FIG. 14 is a flowchart showing an outline of the operation of the conventional Web application diagnostic system. The operation of a conventional vulnerability diagnosis system for Web applications will be described with reference to FIG. The system first collects site configuration information (step 1802). This is a process of collecting information such as the structure of the site, correct parameters for moving to each page, and cookie. This processing is performed automatically or by monitoring the user's browser operation.

次に収集されたサイト構成情報を元に、検査を実施する(ステップ1803)。このとき、システムはステップ1802で収集された正しいリクエストを改変し、擬似攻撃リクエストを生成、送信する。擬似攻撃には複数のパターンがあるため、一般に、一つの正しいリクエストに対し、複数の擬似攻撃リクエストが生成される。送信されたリクエストに対するWebアプリケーションからのレスポンスを解析することで、脆弱性の有無を判断する。最後に、システムは検査の実行結果を出力し、終了する(ステップ1804)。   Next, an inspection is performed based on the collected site configuration information (step 1803). At this time, the system modifies the correct request collected in step 1802, and generates and transmits a pseudo attack request. Since there are a plurality of patterns in the pseudo attack, generally, a plurality of pseudo attack requests are generated for one correct request. By analyzing the response from the Web application to the transmitted request, it is determined whether there is a vulnerability. Finally, the system outputs the test execution result and ends (step 1804).

以上のように、従来のWebアプリケーションの脆弱性診断システムにおいては、収集された正しいリクエストをもとに検査リクエストを生成している。従って、検査のために改変された部分以外は常に元となった正しいリクエストと同じ内容を有している。そのため、以下に述べるようなページの診断を行うことができない。
まず、ユーザ登録を行うような、一度使用されたデータを再び受け付けないページへの検査ができないという問題がある。これは、既にサイト構成情報収集時に使用したユーザ名のような情報を、検査実行時にも再使用してしまうために発生する。
As described above, in the conventional vulnerability diagnosis system for Web applications, an inspection request is generated based on the collected correct request. Therefore, the contents are always the same as those of the original correct request except for the part modified for inspection. For this reason, it is not possible to diagnose the page as described below.
First, there is a problem that it is not possible to inspect a page that does not accept data once used, such as user registration. This occurs because information such as the user name already used at the time of collecting the site configuration information is reused at the time of executing the inspection.

また、ユーザ登録ページでは、利用者の打ち込みミスを検出するために、パスワードやメールアドレスなどを二回入力させることが多い。このような入力項目間にある制約は正しいリクエストの情報からは判別することはできない。そのため、それぞれの項目を個別に検査してしまい、結果としてWebアプリケーション内でエラー入力として処理されてしまい、正常な登録処理の過程に存在するかもしれない脆弱性を検査することができない。
「SANCTUM AppScanTM 3.5 White Paper」
On the user registration page, a password or an e-mail address is often input twice in order to detect a user's typing error. Such constraints between input items cannot be determined from correct request information. For this reason, each item is individually inspected, and as a result, it is processed as an error input in the Web application, and a vulnerability that may exist in the course of normal registration processing cannot be inspected.
"SANCTUM AppScanTM 3.5 White Paper"

この発明は、検査時に毎回異なる値を入力しなければならないパラメータをマクロとして記述可能とし、検査時に同じ検査文字列を入力しなければならないパラメータ群を指定可能とすることで、上記のような問題点を解消することを可能としたWebアプリケーション診断システムである。   The present invention makes it possible to describe as a macro a parameter for which a different value must be input each time at the time of inspection, and to specify a parameter group to which the same inspection character string must be input at the time of inspection. This is a Web application diagnosis system that can eliminate the point.

本発明のウェブアプリケーション検査装置は、
ウェブサーバで動作するウェブアプリケーションを検査する検査用データをウェブサーバに送信してウェブアプリケーションを検査するウェブアプリケーション検査装置において、
ウェブアプリケーションの所定の入力項目への入力に用いる入力パラメータと、入力パラメータを所定の値に置換すべき置換指令を示すマクロとを含む検査用データを生成する検査手段と、
前記検査手段の生成した検査用データがウェブサーバに送信される場合に、検査用データに含まれるマクロに基づいて入力パラメータを所定の値に置換するマクロ実行手段と、
前記マクロ実行手段により所定の値に置換された入力パラメータを含む検査用データをウェブサーバに送信するウェブアクセス手段と
を備えたことを特徴とする。
The web application inspection apparatus of the present invention is
In a web application inspection apparatus for inspecting a web application by transmitting inspection data for inspecting a web application operating on the web server to the web server,
Inspection means for generating inspection data including an input parameter used for input to a predetermined input item of the web application, and a macro indicating a replacement instruction to replace the input parameter with a predetermined value;
Macro execution means for replacing the input parameter with a predetermined value based on the macro included in the inspection data when the inspection data generated by the inspection means is transmitted to the web server;
Web access means for transmitting inspection data including an input parameter replaced with a predetermined value by the macro execution means to a web server.

本発明により、脆弱性の検査時において、毎回異なる値を入力しなければならないパラメータをマクロとして記述することが可能となり、検査処理のエラーを回避することができる。また、脆弱性の検査時において、同じ検査文字列の入力を必要とする一連のパラメータ群を同値な値を有するグループとして指定可能としたので、例えば、ユーザ登録ページなどで、「パスワード入力項目」と「確認用のパスワード再入力項目」の二つの項目に同じパスワードを入力しなければエラーになるような場合を回避して検査を行うことができる。   According to the present invention, it is possible to describe as a macro a parameter for which a different value must be input each time during vulnerability inspection, and avoid errors in inspection processing. In addition, when testing for vulnerabilities, a group of parameters that require the same test string to be entered can be specified as a group having the same value. For example, on the user registration page, the `` password entry item '' If the same password is not entered in the two items of "Re-enter password item for confirmation" and the case where an error occurs, the inspection can be performed.

図1〜図12を用いて実施の形態を説明する。図1は、実施の形態に係る脆弱性診断システム1000を示す図である。脆弱性診断システム1000は、Webサーバの脆弱性を診断する検査装置101(ウェブアプリケーション検査装置)がTCP/IP(Transmission Control Protocol/Internet Protocol)ネットワークを介して検査対象Webサーバ108と接続された構成である。   The embodiment will be described with reference to FIGS. FIG. 1 is a diagram showing a vulnerability diagnosis system 1000 according to the embodiment. The vulnerability diagnosis system 1000 has a configuration in which an inspection apparatus 101 (web application inspection apparatus) that diagnoses a vulnerability of a Web server is connected to an inspection target Web server 108 via a TCP / IP (Transmission Control Protocol / Internet Protocol) network. It is.

検査装置101は、各手段を制御する検査制御手段105、Webアクセス手段102、マクロ実行手段103、セッション回復手段104(取得手段)、及び検査手段106a,106b,106c等を備える。また、セッション回復手段104は、後述するセッション管理情報を保存する保存手段1041を備える。   The inspection apparatus 101 includes an inspection control unit 105 that controls each unit, a Web access unit 102, a macro execution unit 103, a session recovery unit 104 (acquisition unit), and inspection units 106a, 106b, and 106c. The session recovery unit 104 includes a storage unit 1041 that stores session management information described later.

検査装置101は、サイト構成情報109、検査対象ページ指定情報110、マクロ定義情報111、同値パラメータ指定情報112を入力情報とする。これらの情報については後述する。検査装置101は、検査対象Webサーバ108上で稼動するWebアプリケーション(ソフトウェア、あるいはプログラム)の脆弱性を検査する。   The inspection apparatus 101 uses the site configuration information 109, the inspection target page designation information 110, the macro definition information 111, and the equivalence parameter designation information 112 as input information. Such information will be described later. The inspection apparatus 101 inspects the vulnerability of a Web application (software or program) that runs on the inspection target Web server 108.

図2は、検査手段106aの内部構成を示す図である。検査手段106b、106c等も同様の構成である。検査手段106aは、検査リクエスト生成手段1061及び脆弱性判定手段1062を備える。検査リクエスト生成手段1061は、リクエスト情報1063を入力とし、検査リクエスト情報1064(検査用データ)を出力する。脆弱性判定手段1062はWebサーバからのレスポンス1065を入力とし、脆弱性の判定結果1066を出力する。   FIG. 2 is a diagram showing an internal configuration of the inspection means 106a. The inspection units 106b and 106c have the same configuration. The inspection unit 106a includes an inspection request generation unit 1061 and a vulnerability determination unit 1062. The inspection request generation means 1061 receives the request information 1063 and outputs inspection request information 1064 (inspection data). The vulnerability determination unit 1062 receives the response 1065 from the Web server and outputs a vulnerability determination result 1066.

図1に示すように、検査装置101は、Webアクセス手段102、マクロ実行手段103、セッション回復手段104(取得手段)、検査制御手段105及び検査手段106a,106b,106c等を備えるが、これらの構成要素の機能はハードウェアで実施されてもよい。また、ソフトウェアで実施されても良い。あるいは、ハードウェアとソフトウェアの両者により実施されても構わない。検査制御手段105は、CPU(Central Processing Unit)と、RAM(Random Access Memory)、ROM(Read Only Memory)、磁気磁気記憶装置の記憶装置等を備える(図示していない)。他のセッション回復手段104等も同様である。また、Webアクセス手段102は、通信機能を備える。さらに、検査装置101は、サイト構成情報109等を入力する入力部(図示していない)を備える。また、検査結果を出力する出力部(図示していない)を備える。   As shown in FIG. 1, the inspection apparatus 101 includes a Web access unit 102, a macro execution unit 103, a session recovery unit 104 (acquisition unit), an inspection control unit 105, inspection units 106a, 106b, and 106c. The function of the component may be implemented in hardware. Moreover, it may be implemented by software. Alternatively, it may be implemented by both hardware and software. The inspection control unit 105 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), a magnetic magnetic storage device, and the like (not shown). The same applies to the other session recovery means 104 and the like. The web access unit 102 has a communication function. Further, the inspection apparatus 101 includes an input unit (not shown) for inputting the site configuration information 109 and the like. Further, an output unit (not shown) for outputting the inspection result is provided.

次に、図3を用いてサイト構成情報109を説明する。図3は、図1で示したサイト構成情報109の一例を示した図である。サイト構成情報109は検査対象サイトの構成を表した情報であり、サイト内の各ページにアクセスするためのURL1002及びHTTPリクエストのボディ部に与えなければならないデータ(以下「POSTデータ1003」という)が記述されている。URL1002とPOSTデータ1003を併せて、以下「リンク情報1004」と呼ぶことにする。各リンク情報1004には「リンクID1001」と呼ばれるサイト構成情報ファイル内で一意のIDが割り振られている。さらに、リンクID1001は、そのページへのリンク元となったページのIDにハイフン(−)の後通し番号を付加する事で生成される。例えば、リンクID「1−1」をリンク元とするページには、リンクID「1−1−1」、あるいは「1−1−2」、というリンクID1001が与えられる。リンクID1001、URL1002、POSTデータ1003は、図3に示すように、パイプ記号(|)で区切られて、一行に記述される。   Next, the site configuration information 109 will be described with reference to FIG. FIG. 3 is a diagram showing an example of the site configuration information 109 shown in FIG. The site configuration information 109 is information representing the configuration of the site to be inspected, and URL 1002 for accessing each page in the site and data (hereinafter referred to as “POST data 1003”) that must be given to the body part of the HTTP request. is described. The URL 1002 and the POST data 1003 are hereinafter collectively referred to as “link information 1004”. Each link information 1004 is assigned a unique ID in the site configuration information file called “link ID 1001”. Further, the link ID 1001 is generated by adding a hyphen (-) serial number to the ID of the page that is the link source to the page. For example, a link ID 1001 such as a link ID “1-1-1” or “1-1-2” is given to a page whose link ID is “1-1”. As shown in FIG. 3, the link ID 1001, URL 1002, and POST data 1003 are delimited by a pipe symbol (|) and described in one line.

次に、図4を用いて検査対象ページ指定情報110を説明する。図4は、図1で示した検査対象ページ指定情報110の一例を示す図である。検査対象ページ指定情報110は、サイト構成情報109内に記載されているページの中で、検査装置101によって脆弱性検査を行う対象を指定するためのファイルである。検査対象ページのリンクID1001をカンマもしくは改行で区切って並べて記述する。   Next, the inspection target page designation information 110 will be described with reference to FIG. FIG. 4 is a diagram showing an example of the inspection target page designation information 110 shown in FIG. The inspection target page designation information 110 is a file for designating a target to be subjected to vulnerability inspection by the inspection apparatus 101 among the pages described in the site configuration information 109. The link IDs 1001 of the pages to be inspected are described side by side separated by commas or line breaks.

次に、図5は図1で示したマクロ定義情報111の一例を示す図である。また、図6は、サイト構成情報109にマクロを挿入したマクロ挿入サイト構成情報1300の例を示す図である。図中バッククオート(`)で囲まれた部分が、マクロが挿入されたマクロ挿入部1301である。「マクロ」とは、インタプリタ言語で記述されたプログラムコードである。マクロの展開はマクロ実行手段103で上記マクロ部分を実行し、その戻り値(文字列)でマクロ部分を置換することで行われる。マクロ定義情報111に、あらかじめマクロ内で使用する関数を定義しておくことで、サイト構成情報内のマクロからその関数を呼び出すことができる。   Next, FIG. 5 is a diagram showing an example of the macro definition information 111 shown in FIG. FIG. 6 is a diagram illustrating an example of macro insertion site configuration information 1300 in which a macro is inserted into the site configuration information 109. In the figure, a portion surrounded by back quotes (図) is a macro insertion unit 1301 in which a macro is inserted. A “macro” is a program code written in an interpreted language. Macro expansion is performed by executing the macro part in the macro execution means 103 and replacing the macro part with the return value (character string). By defining the function used in the macro in advance in the macro definition information 111, the function can be called from the macro in the site configuration information.

図7は、図1で示した同値パラメータ指定情報112の一例を示す図である。同値パラメータ指定情報112は、パラメータを含まないURL1401と、同値パラメータ指定1402で構成されている。「同値パラメータ指定」とは、同値でなければならない2個以上のパラメータ群を等号記号(=)で区切って並べたものである。同一のURL1401に対し、複数の同値パラメータ指定を行う場合には、図中にあるように、各同値パラメータ指定をパイプ記号(|)で連結して記述する。   FIG. 7 is a diagram illustrating an example of the equivalency parameter specifying information 112 illustrated in FIG. The equivalence parameter designation information 112 includes a URL 1401 that does not include a parameter and an equivalence parameter designation 1402. The “equivalent parameter designation” is a group of two or more parameter groups that must be equivalent and separated by an equal sign (=). When a plurality of equivalence parameters are designated for the same URL 1401, each equivalence parameter designation is described by being connected with a pipe symbol (|) as shown in the figure.

図8は、検査処理の過程を示すフローチャートである。図1、図8を参照しながら検査装置101の検査処理の動作について説明する。フローチャートの各ステップを、例えば、ステップ601、あるいはS601と呼ぶ。検査装置101の検査制御手段105は、Webアクセス手段102、マクロ実行手段103、セッション回復手段104、検査手段106a等を制御して検査おこなう。   FIG. 8 is a flowchart showing the process of the inspection process. The operation of the inspection process of the inspection apparatus 101 will be described with reference to FIGS. Each step of the flowchart is referred to as step 601 or S601, for example. The inspection control unit 105 of the inspection apparatus 101 performs inspection by controlling the Web access unit 102, the macro execution unit 103, the session recovery unit 104, the inspection unit 106a, and the like.

検査装置101は、起動時にサイト構成情報109、検査対象ページ指定情報110、マクロ定義情報111及び同値パラメータ指定情報112と呼ばれるファイルを入力として受け取る。ただし、検査対象ページ指定情報110、マクロ定義情報111、同値パラメータ指定情報112は省略可能である。検査対象ページ指定情報110を省略した場合、サイト構成情報109内に記述された全てのページが検査対象とみなされる。   The inspection apparatus 101 receives as input the files called site configuration information 109, inspection target page designation information 110, macro definition information 111, and equivalence parameter designation information 112 at the time of activation. However, the inspection target page designation information 110, the macro definition information 111, and the equivalence parameter designation information 112 can be omitted. When the inspection target page designation information 110 is omitted, all pages described in the site configuration information 109 are regarded as inspection targets.

検査制御手段105は、検査対象ページのリンクID1001をサイト構成情報109から順番に取り出し(S601)、図8に示す検査処理を実行する。   The inspection control unit 105 extracts the link ID 1001 of the inspection target page in order from the site configuration information 109 (S601), and executes the inspection process shown in FIG.

まず、検査制御手段105は、検査対象ページのリンクID1001(変数id)からサイト構成情報109内を検索して、対応するリンク情報1004を取り出す(ステップ602)。次に、検査制御手段105は、このリンクに対して順番に検査手段106a,106b等を用いて検査を行っていく。ステップ603で、検査制御手段105は、このリンクに対してまだ実行していない検査手段を検索し、その検査手段への参照を変数dに格納する。もしdが空値であったならば(ステップ604)、そのリンクに対する検査は全て終了したことになるので検査処理を終了する(ステップ616)。   First, the inspection control unit 105 searches the site configuration information 109 from the link ID 1001 (variable id) of the inspection target page and takes out the corresponding link information 1004 (step 602). Next, the inspection control means 105 inspects this link using the inspection means 106a, 106b, etc. in order. In step 603, the inspection control unit 105 searches for an inspection unit that has not been executed for this link, and stores a reference to the inspection unit in the variable d. If d is a null value (step 604), all the inspections for the link have been completed, so the inspection process is terminated (step 616).

dが有効な検査手段への参照であったならば(実行していない検査手段が存在する場合には)、S605以降に進む。ここでは、実行していない検査手段として検査手段106aが存在したことを想定する。S605において、検査制御手段105は、「同値パラメータ指定情報112」内を検索し、検査対象リンクに同値パラメータ群が指定されているかどうかをチェックする(ステップ605)。「同値パラメータ群」とは、Webサイトの仕様上、必ず同じ値が設定されていなければエラーとして処理されてしまうパラメータのグループを意味する。例えば、ユーザ登録ページなどで、「パスワード入力項目」と「確認用のパスワード再入力項目」の二つの項目に同じパスワードを入力しないとエラーになる場合が該当する。このようなページを検査する場合には、「パスワード」及び「確認用パスワード」に対応するパラメータ名を、「同値パラメータ群」としてあらかじめ指定おくことでエラーを回避できる。例えば、図7に示す「register.asp=pass=pass2」である。ステップ605のチェックの結果、同値パラメータ群が存在していた場合には検査制御手段105は、d(検査手段106a)にその同値パラメータ群を登録しておく(ステップ606)。   If d is a reference to an effective inspection means (when there is an inspection means that has not been executed), the process proceeds to S605 and thereafter. Here, it is assumed that the inspection means 106a exists as an inspection means that has not been executed. In step S605, the inspection control unit 105 searches the “equivalent parameter specification information 112” and checks whether an equivalent parameter group is specified for the inspection target link (step 605). The “equivalent parameter group” means a group of parameters that are processed as an error unless the same value is always set according to the specifications of the Web site. For example, in the user registration page, an error occurs if the same password is not entered in the two items “password entry item” and “password re-entry item for confirmation”. When such a page is inspected, an error can be avoided by specifying in advance the parameter names corresponding to “password” and “confirmation password” as “equivalent parameter group”. For example, “register.asp = pass = pass2” shown in FIG. If the equivalence parameter group exists as a result of the check in step 605, the inspection control means 105 registers the equivalence parameter group in d (inspection means 106a) (step 606).

以降、d(検査手段106a)で実施する検査が全て終了するまでステップ607〜615をループする。d(検査手段106a)の検査が終了すると、検査処理はステップ603に戻り、別の検査手段(例えば、検査手段106b)に対して同様な処理を実施する。   Thereafter, steps 607 to 615 are looped until all the inspections performed by d (inspection means 106a) are completed. When the inspection of d (inspection means 106a) is completed, the inspection processing returns to step 603, and the same processing is performed for another inspection means (for example, inspection means 106b).

次に、ステップ607〜ステップ615について以下に説明する。まず、ステップ607において、検査制御手段105は、検査手段d(検査手段106a)で実施する検査が全て終了したかどうかを確認する。もし検査手段106aにおいて行うべき検査がまだ残っていた場合にはステップ608に進み、セッション回復が行われる。「セッション回復」とは、サイトのトップページから検査対象ページまで、サイトの構成どおりにWebアクセスを行うことで、Cookie等のセッション管理情報を取得する処理である。この処理の詳細については後述(図9)する。   Next, step 607 to step 615 will be described below. First, in step 607, the inspection control means 105 confirms whether all the inspections performed by the inspection means d (inspection means 106a) have been completed. If there is still an inspection to be performed by the inspection means 106a, the process proceeds to step 608, and session recovery is performed. “Session recovery” is a process of acquiring session management information such as Cookie by performing Web access according to the configuration of the site from the top page of the site to the inspection target page. Details of this processing will be described later (FIG. 9).

ステップ608において、セッション回復手段104によるセッション回復を実施後、ステップ609で、linkで示されるページにアクセスするためのリクエスト情報が生成され、ステップ610でそのリクエスト情報がd(検査手段106a)に渡される。d(検査手段106a)はこのリクエスト情報をもとに、内部の検査リクエスト生成手段1061を用いて検査リクエスト(検査用データ)を生成する(ステップ611)。検査リクエスト生成手段1061は、各検査手段毎(検査手段106a,106b,106c等ごと)に異なる。これにより、多様な検査項目を実現することが可能である。次に、d(検査手段106a)によって生成された検査リクエストをもとに、Webアクセスが行われる(ステップ612)。Webサイトからの応答(レスポンス)は、再びd(検査手段106a)に渡され、d(検査手段106a)内部の脆弱性判定手段1062で解析される。解析の結果、脆弱性があると判断された場合には(ステップ614)、脆弱性判定手段1062は、脆弱性検出メッセージを出力する(ステップ615)。その後、再びステップ607に処理が戻り、d(検査手段106a)による検査が全て終了するまでこのループは継続する。   In step 608, after session recovery is performed by the session recovery means 104, in step 609, request information for accessing the page indicated by link is generated, and in step 610, the request information is passed to d (inspection means 106a). It is. Based on the request information, d (inspection means 106a) generates an inspection request (inspection data) using the internal inspection request generation means 1061 (step 611). The inspection request generation means 1061 is different for each inspection means (for each inspection means 106a, 106b, 106c, etc.). As a result, various inspection items can be realized. Next, Web access is performed based on the inspection request generated by d (inspection means 106a) (step 612). The response (response) from the Web site is again delivered to d (inspection means 106a) and analyzed by vulnerability determination means 1062 inside d (inspection means 106a). If it is determined that there is a vulnerability as a result of the analysis (step 614), the vulnerability determination means 1062 outputs a vulnerability detection message (step 615). Thereafter, the process returns to step 607 again, and this loop continues until all the inspections by d (inspection means 106a) are completed.

次に図9を用いて、セッション回復処理について説明する。セッション回復処理は、検査制御手段105の制御によりセッション回復手段104が行う。図9は、ステップ608のセッション回復処理を示すフローチャートである。セッション回復処理は、はじめに、ステップ501で対象リンクIDをパラメータとして受け取る(変数id)。次に、ステップ502で以前のセッション回復で取得されたセッション管理情報をクリアする。リンクIDは、前述したとおりページ間のリンク元から派生して生成されている。このため、与えられたリンクIDのリンク元のIDを簡単に調べる事が可能である。もし、リンクIDにハイフン(−)が含まれていなかったならば、そのページはどこからもリンクされていない、すなわちサイトのトップであることを意味する。サイトのトップを示すリンクIDであったならば(ステップ503)、セッション回復処理は行われず、すぐに終了する。   Next, session recovery processing will be described with reference to FIG. The session recovery process is performed by the session recovery unit 104 under the control of the inspection control unit 105. FIG. 9 is a flowchart showing the session recovery process in step 608. In the session recovery process, first, in step 501, the target link ID is received as a parameter (variable id). Next, in step 502, the session management information acquired in the previous session recovery is cleared. As described above, the link ID is generated by being derived from the link source between pages. For this reason, it is possible to easily check the link source ID of a given link ID. If the link ID does not include a hyphen (-), it means that the page is not linked from anywhere, that is, the top of the site. If the link ID indicates the top of the site (step 503), the session recovery process is not performed and the process ends immediately.

もし、リンクIDにリンク元が存在していたならば、そのリンク元のIDを変数idの文字列処理で抽出し、変数parent_idに代入する(ステップ504)。次にparent_idに対して再帰的にセッション回復処理を呼び出す(ステップ505)。このセッション回復処理の再帰呼び出しが完了すると、parent_idに対してセッション回復が終了したことになる。   If the link source is present in the link ID, the link source ID is extracted by the character string processing of the variable id and substituted into the variable parent_id (step 504). Next, session recovery processing is recursively called for parent_id (step 505). When the recursive call of the session recovery process is completed, the session recovery for the parent_id is completed.

次に、ステップ506〜509でparent_idそのものにアクセスすることで最初に与えられたidに対するセッション回復が終了する。そのために、ステップ506でparent_idに対応するリンク情報をサイト構成情報から検索する(変数link)。次にlinkに対応するリクエスト情報生成処理を行い(ステップ507)、そのリクエスト情報(セッション管理情報取得データ)をもとに、Webアクセス手段102を介してWebアクセスを行う(ステップ508)。Webサイトからのレスポンスおよびlinkを入力としてセッション管理情報保存処理がステップ509で呼び出され(図10のS1501)、Cookie等のセッション管理情報が保存手段1041に保存される。以上でセッション回復処理は終了する。   Next, by accessing the parent_id itself in steps 506 to 509, the session recovery for the id given first is completed. For this purpose, link information corresponding to parent_id is searched from the site configuration information in step 506 (variable link). Next, request information generation processing corresponding to the link is performed (step 507), and web access is performed via the web access means 102 based on the request information (session management information acquisition data) (step 508). Session management information storage processing is called in step 509 with the response and link from the website as input (S1501 in FIG. 10), and session management information such as Cookie is stored in the storage means 1041. This completes the session recovery process.

次に、図10を用いてセッション管理情報の保存処理を説明する。図10はセッション管理情報の保存処理を示すフローチャートである。ステップ509で呼び出されるセッション管理情報保存は、図10のように実施される。この処理は、Webサイトから返された「レスポンス情報」及びレスポンスの元となった「リンク情報」をもとに行われる。まず、前回のセッション管理情報保存処理で保存(保存手段1041に保存)された「Referer情報」及び「hiddenパラメータ情報」をクリアする(ステップ1502)。次に「リンク情報」に含まれるURLを「Referer情報」として保存手段1041に保存する(ステップ1503)。次に、「レスポンス情報」のヘッダ情報からヘッダ名“Set−Cookie”で参照される情報を抽出し、それを「Cookie情報」として保存手段1041に保存する(ステップ1504〜1505)。次に、レスポンス中に含まれるHTMLを解析しhiddenタグ(<input type=hidden>タグ)を見つけ出し、そのnameアトリビュートとvalueアトリビュートを保存手段1041に保存する(ステップ1506〜1507)。以上でセッション管理情報保存処理は終了する。   Next, session management information storage processing will be described with reference to FIG. FIG. 10 is a flowchart showing a session management information saving process. The session management information storage called in step 509 is implemented as shown in FIG. This process is performed based on the “response information” returned from the website and the “link information” that is the source of the response. First, “Referer information” and “hidden parameter information” saved in the previous session management information saving process (saved in the saving unit 1041) are cleared (step 1502). Next, the URL included in the “link information” is stored in the storage unit 1041 as “Refer information” (step 1503). Next, information referred to by the header name “Set-Cookie” is extracted from the header information of “response information”, and is stored in the storage unit 1041 as “Cookie information” (steps 1504 to 1505). Next, the HTML included in the response is analyzed to find a hidden tag (<input type = hidden> tag), and the name attribute and value attribute are stored in the storage unit 1041 (steps 1506 to 1507). Thus, the session management information saving process ends.

次に、図11を用いてリクエスト情報生成処理を説明する。図11は、リクエスト情報生成処理の過程を示すフローチャートである。リクエスト情報生成処理は、図8(検査処理)のステップ609と、図9(セッション回復処理)のステップ507とで実施される。ステップ609では検査制御手段105が生成する。ステップ507では、セッション回復手段104が生成する。検査処理におけるリクエスト情報生成処理(S609)は検査用リクエストを生成するためである。セッション回復処理のリクエスト情報生成処理(S507)はセッション管理情報を取得するためである。   Next, the request information generation process will be described with reference to FIG. FIG. 11 is a flowchart showing the process of request information generation processing. The request information generation process is performed in step 609 in FIG. 8 (inspection process) and step 507 in FIG. 9 (session recovery process). In step 609, the inspection control means 105 generates. In step 507, the session recovery means 104 generates. The request information generation process (S609) in the inspection process is for generating an inspection request. The request information generation process (S507) of the session recovery process is for acquiring session management information.

リクエスト情報生成処理は、リンク情報をパラメータとして呼び出される(変数link)。次に、最後にセッション管理情報保存処理を行った時に取得されたreferer情報、cookie情報及びhiddenパラメータ群を取得する(ステップ1602〜1604)。次に、取得されたhiddenパラメータ群を用いてlinkのパラメータを置換する(ステップ1605)。例えばlink中に「sessionid」という名前のパラメータが存在し、その値が「1234abcd」であったとする。もし、hiddenパラメータ群の中に「sessionid」という名前のパラメータが存在し、その値が「5678wxyz」であったならば、linkの「sessionidパラメータ」が「5678wxyz」に置換される。これにより、hiddenパラメータを用いてセッション管理を行っているWebサイトでも正しくWebアクセスが行えるようになる。最後にreferer情報、cookie情報及び修正されたlink情報をもとにリクエスト情報が生成され、呼び出し元に返される(ステップ1606〜1607)。   The request information generation process is called with link information as a parameter (variable link). Next, the referer information, the cookie information, and the hidden parameter group acquired when the session management information storing process is last performed are acquired (steps 1602 to 1604). Next, the link parameter is replaced using the acquired hidden parameter group (step 1605). For example, it is assumed that a parameter named “sessionid” exists in the link and its value is “1234abcd”. If a parameter named “sessionid” exists in the hidden parameter group and its value is “5678 wxyz”, the “sessionid parameter” of the link is replaced with “5678 wxyz”. As a result, Web access can be performed correctly even on a Web site that manages sessions using the hidden parameter. Finally, request information is generated based on the referer information, the cookie information, and the corrected link information, and returned to the caller (steps 1606 to 1607).

次に、図12を用いてWebアクセス処理を説明する。図12は、Webアクセス処理を示すフローチャートである。Webアクセス処理は、検査処理(図8ステップ612)及びセッション回復処理(図9ステップ508)で実施される。検査処理の場合は、検査用リクエストを検査対象Webサーバ108に送信するためである。セッション回復処理では、セッション管理情報を取得するためである。Webアクセス処理はリクエスト情報をパラメータとして呼び出される(ステップ301)。次に、リクエスト情報のリンク情報を取り出し(ステップ302)、その中のマクロを展開する。すなわち、図11で説明したように、リクエスト情報はlink情報をもとに生成されるが、link情報とは、例えば、図6のリンクID以降の部分である。よって、マクロを含んでいる。   Next, Web access processing will be described with reference to FIG. FIG. 12 is a flowchart showing Web access processing. The Web access process is performed by an inspection process (step 612 in FIG. 8) and a session recovery process (step 508 in FIG. 9). This is because in the case of the inspection process, an inspection request is transmitted to the inspection target Web server 108. This is because session management information is acquired in the session recovery process. The Web access process is called with request information as a parameter (step 301). Next, the link information of the request information is extracted (step 302), and the macro therein is expanded. That is, as described with reference to FIG. 11, the request information is generated based on the link information, and the link information is, for example, a portion after the link ID in FIG. Therefore, it contains a macro.

マクロを用いることで、特定のパラメータに対し、常に異なる値を設定することが可能となる。たとえば、既にサイト構成情報収集時に使用したユーザ名のようなパラメータを、検査実行時にも再使用してしまうために生じるユーザ登出来ないという事態を回避することができる。マクロの設定において、パラメータの入力項目(例えばユーザ名入力)に応じて、特定のパラメータに対し、異なる値を設定する。ユーザ名に異なる値を設定することで、過去の入力との重複を避け、検査を実施することができる。   By using a macro, it is possible to always set different values for a specific parameter. For example, it is possible to avoid a situation in which a user cannot be registered because a parameter such as a user name already used at the time of collecting site configuration information is reused at the time of inspection execution. In macro setting, different values are set for specific parameters in accordance with parameter input items (for example, user name input). By setting different values for the user name, it is possible to avoid duplication with past input and to perform inspection.

「マクロ」とは、インタプリタ言語で記述されたプログラムコードである。上述のように、マクロは、サイト構成情報中に、図13の「マクロ挿入部1301」のように、バッククオート(`)で囲むことで記述できる。マクロの展開は、マクロ実行手段103上で上記のマクロ部分を実行し、その戻り値(文字列)でマクロ部分を置換することで行われる。図5に示したマクロ定義情報111のように、あらかじめマクロ内で使用する関数を定義しておくことで、例えばマクロ挿入サイト構成情報1300内のマクロから、その関数を呼び出すことができる。本実施形態では、マクロ実行手段103としてPerlインタプリタを用いていることを想定しているが、その他のインタプリタ言語を使用することも可能である。   A “macro” is a program code written in an interpreted language. As described above, the macro can be described in the site configuration information by surrounding it with back quotes (構成) like “macro insertion unit 1301” in FIG. Macro expansion is performed by executing the macro part on the macro execution means 103 and replacing the macro part with the return value (character string). Like the macro definition information 111 shown in FIG. 5, by defining a function to be used in the macro in advance, the function can be called from a macro in the macro insertion site configuration information 1300, for example. In the present embodiment, it is assumed that a Perl interpreter is used as the macro execution means 103, but other interpreter languages can also be used.

マクロ展開後、ステップ304でリンク情報、Cookie情報、Referer情報、及びその他のヘッダ情報から実際に送信されるHTTPリクエストデータが生成され、ステップ305でWebサイト(検査対象Webサーバ108)に送信される。その結果、Webサイトから受信したHTTPレスポンスデータを本処理の返り値とし、処理を終了する(ステップ306〜307)。   After the macro expansion, in step 304, HTTP request data that is actually transmitted is generated from the link information, cookie information, referer information, and other header information. In step 305, the HTTP request data is transmitted to the Web site (inspection target Web server 108). . As a result, the HTTP response data received from the Web site is used as the return value of this process, and the process is terminated (steps 306 to 307).

以上、実施の形態では、セッション回復処理(S608)は検査リクエスト生成(S611)前に必ず行われていたが、これを一回の検査処理につき一度しか行わないようにしても構わない。その場合は、検査時間の短縮を図ることができる。   As described above, in the embodiment, the session recovery process (S608) is always performed before the inspection request generation (S611). However, this may be performed only once per inspection process. In that case, the inspection time can be shortened.

本実施の形態に係る検査装置101はマクロを利用するので、セッション回復処理(S508)及び検査処理(S612)のWebアクセスにおいて、これにより、例えば、ユーザ登録ページのように、一度使用したユーザ名を再び利用するとエラーになるようなページに対しても、検査を行うことができる。   Since the inspection apparatus 101 according to the present embodiment uses a macro, in the Web access of the session recovery process (S508) and the inspection process (S612), the user name used once, for example, as in the user registration page It is possible to inspect even a page that causes an error when using again.

また、サイト構成情報内のリンク情報にマクロを記述可能とすることにより、過去の入力との重複を許さないようなページを有するWebサイトも検査をおこなうことができる。   In addition, by making it possible to describe a macro in the link information in the site configuration information, it is possible to inspect Web sites having pages that do not allow duplication with past input.

検査装置101によるセッション回復処理により、セッション管理を行っているようなWebサイトでも検査可能になるという効果がある。また、セッション回復処理ではリンクIDを用いるので、効率よくセッション回復処理を行うことができる。   The session recovery process by the inspection apparatus 101 has an effect that it is possible to inspect even a Web site that performs session management. Further, since the link ID is used in the session recovery process, the session recovery process can be performed efficiently.

また、検査装置101によるセッション回復処理では、マクロが実行されるので特定のパラメータに対し、常に異なる値を使用することが可能となる。   Further, in the session recovery process by the inspection apparatus 101, since a macro is executed, it is possible to always use different values for specific parameters.

検査装置101では、同値パラメータ群を指定可能にすることにより、同じ値を入力しなければならないページを有するWebサイトも検査することができる。   The inspection apparatus 101 can also inspect a Web site having a page to which the same value must be input by making it possible to specify an equivalence parameter group.

診断システムを示す図である。It is a figure which shows a diagnostic system. 検査手段の構成を示す図である。It is a figure which shows the structure of a test | inspection means. サイト構成情報の例を示す図である。It is a figure which shows the example of site structure information. 検査対象ページ指定情報の例を示す図である。It is a figure which shows the example of inspection object page designation information. マクロ定義情報の例を示す図である。It is a figure which shows the example of macro definition information. マクロを利用したサイト構成情報の例を示す図である。It is a figure which shows the example of the site structure information using a macro. 同値パラメータ指定情報の例を示す図である。It is a figure which shows the example of equivalence parameter designation | designated information. 診断システムの検査処理の動作を示す図である。It is a figure which shows operation | movement of the test | inspection process of a diagnostic system. セッション回復処理の動作を示す図である。It is a figure which shows operation | movement of a session recovery process. セッション管理情報の保存処理の動作を示す図である。It is a figure which shows operation | movement of the preservation | save process of session management information. リクエスト情報の生成処理の動作を示す図である。It is a figure which shows operation | movement of the production | generation process of request information. Webアクセス処理の動作を示す図である。It is a figure which shows operation | movement of a web access process. 従来の、Webサーバへ送信される情報の内容を示す図である。It is a figure which shows the content of the information transmitted to the conventional web server. 従来のWebアプリケーション診断システムの動作の概略を示すフローチャートである。It is a flowchart which shows the outline | summary of operation | movement of the conventional web application diagnostic system.

符号の説明Explanation of symbols

101 検査装置、102 Webアクセス手段、103 マクロ実行手段、104 セッション回復手段、105 検査制御手段、106 検査手段、107 TCP/IPネットワーク、108 検査対象Webサーバ、109 サイト構成情報、110 検査対象ページ指定情報、111 マクロ定義情報、112 同値パラメータ指定情報、201 検査手段、202 検査リクエスト生成機能、203 脆弱性判定機能、204 リクエストテンプレート情報、205 検査リクエスト情報、206 レスポンス、207 判定結果、1000 脆弱性診断システム、1001 リンクID、1002 URL、1003 POSTデータ、1004 リンク情報、1041 保存手段、1001 リンクID、1061 検査リクエスト生成手段、1062 脆弱性判定手段、1063 リクエスト情報、1064 検査リクエスト情報、1065 レスポンス、1066 判定結果、1300 マクロ挿入サイト構成情報、1301 マクロ挿入部、1401 URL、1402 同値パラメータ指定。   101 inspection apparatus, 102 Web access means, 103 macro execution means, 104 session recovery means, 105 inspection control means, 106 inspection means, 107 TCP / IP network, 108 inspection target Web server, 109 site configuration information, 110 inspection target page designation Information, 111 macro definition information, 112 equivalence parameter designation information, 201 inspection means, 202 inspection request generation function, 203 vulnerability determination function, 204 request template information, 205 inspection request information, 206 response, 207 determination result, 1000 vulnerability diagnosis System, 1001 link ID, 1002 URL, 1003 POST data, 1004 link information, 1041 storage means, 1001 link ID, 1061 inspection request generation means, 062 vulnerability determination unit 1063 requests information, 1064 inspection request information, 1065 response, 1066 judgment result, 1300 macro insertion site configuration information, 1301 macro insertion portion, 1401 URL, 1402 equivalent parameters specified.

Claims (6)

ウェブサーバで動作するウェブアプリケーションを検査する検査用データを前記ウェブサーバに送信して前記ウェブアプリケーションを検査するウェブアプリケーション検査装置において、In a web application inspection apparatus for inspecting the web application by transmitting inspection data for inspecting a web application operating on the web server to the web server,
前記ウェブサーバで動作する前記ウェブアプリケーションが提供するサイトの構成を示すサイト構成情報であって、前記サイトのURL(Uniform Resource Locator)と、前記ウェブアプリケーションの所定の入力項目への入力値として使用される入力パラメータであって前記入力項目に一度入力されると前記ウェブアプリケーションにより次回に同じ値の入力が拒否される入力パラメータを異なる値に置換する置換指令を示すマクロとを含むサイト構成情報から、前記URLと前記マクロとを含むと共に前記ウェブサーバへアクセスするためのリクエスト情報を生成する検査制御手段と、Site configuration information indicating the configuration of a site provided by the web application operating on the web server, and used as an input value to a URL (Uniform Resource Locator) of the site and a predetermined input item of the web application From the site configuration information including a macro that indicates a replacement instruction that replaces an input parameter that is once input to the input item and that is rejected to be input next time by the web application with a different value. Inspection control means that includes the URL and the macro and generates request information for accessing the web server;
前記検査制御手段により生成された前記リクエスト情報に基づいて、前記URLと、前記マクロとを含むと共に前記ウェブアプリケーションを検査するための複数の検査用データを順次生成する検査手段と、Based on the request information generated by the inspection control unit, the inspection unit includes the URL and the macro and sequentially generates a plurality of inspection data for inspecting the web application;
前記検査手段により前記検査用データが順次生成されるごとに、生成された前記検査用データに含まれる前記マクロを実行して前記入力パラメータを異なる値に置換するマクロ実行手段と、Macro execution means for executing the macro included in the generated inspection data and replacing the input parameter with a different value each time the inspection data is sequentially generated by the inspection means;
前記マクロ実行手段により前記マクロが実行された前記検査用データを、順次、前記ウェブサーバに送信するウェブアクセス手段とWeb access means for sequentially transmitting the inspection data, in which the macro has been executed by the macro execution means, to the web server;
を備えたことを特徴とするウェブアプリケーション検査装置。A web application inspection apparatus comprising:
前記ウェブアプリケーション検査装置は、The web application inspection device includes:
さらに、further,
前記検査手段により前記検査用データが生成されるときであって前記検査用データが生成される前に、前記ウェブアクセス手段を介して前記ウェブサーバにアクセスすることにより、前記ウェブサーバへのアクセスの履歴を含むセッション管理情報を取得する取得手段を備え、Access to the web server by accessing the web server via the web access means when the inspection data is generated by the inspection means and before the inspection data is generated. Including an acquisition means for acquiring session management information including a history;
前記検査制御手段は、The inspection control means includes
前記取得手段により前記セッション管理情報が取得される度に、前記セッション管理情報を用いて前記リクエスト情報を生成し、Each time the session management information is acquired by the acquisition means, the request information is generated using the session management information,
前記検査手段は、The inspection means includes
前記セッション管理情報を用いて生成された前記リクエスト情報に基づいて、前記検査用データを作成することを特徴とする請求項1記載のウェブアプリケーション検査装置。The web application inspection apparatus according to claim 1, wherein the inspection data is created based on the request information generated using the session management information.
前記取得手段は、The acquisition means includes
前記セッション管理情報を取得する場合に、前記セッション管理情報を取得するために用いるデータとして、ウェブアプリケーションの所定の入力項目への入力値として使用される入力パラメータであって前記入力項目に一度入力されると前記ウェブアプリケーションにより次回に同じ値の入力が拒否される入力パラメータを異なる値に置換する置換指令を示すマクロを含むセッション管理情報取得データを生成し、生成したセッション管理情報取得データを前記ウェブアクセス手段を介して前記ウェブサーバに送信し、When acquiring the session management information, the data used to acquire the session management information is an input parameter used as an input value to a predetermined input item of a web application and is input once to the input item Then, the web application generates session management information acquisition data including a macro indicating a replacement command for replacing an input parameter for which input of the same value is rejected next time with a different value, and the generated session management information acquisition data is stored in the web Sent to the web server via access means,
前記マクロ実行手段は、The macro execution means is:
前記ウェブアクセス手段がセッション管理情報取得データを前記ウェブサーバに送信する場合に、セッション管理情報取得データに含まれる前記マクロを実行して前記入力パラメータを異なる値に置換することを特徴とする請求項2記載のウェブアプリケーション検査装置。The web access means, when transmitting session management information acquisition data to the web server, executing the macro included in the session management information acquisition data to replace the input parameter with a different value. 2. The web application inspection device according to 2.
前記取得手段は、The acquisition means includes
前記アクセス履歴としてhiddenパラメータを含む前記セッション管理情報を取得し、Obtaining the session management information including a hidden parameter as the access history;
前記検査制御手段は、The inspection control means includes
前記hiddenパラメータを含む前記リクエスト情報を生成し、Generating the request information including the hidden parameter;
前記検査手段は、The inspection means includes
前記hiddenパラメータを含む前記検査用データを生成することを特徴とする請求項2または3のいずれかに記載のウェブアプリケーション検査装置。The web application inspection apparatus according to claim 2, wherein the inspection data including the hidden parameter is generated.
前記マクロ実行手段は、The macro execution means is:
前記マクロを実行して前記入力パラメータを異なる値に置換する場合に、生成のたびに異なる値を生成する関数が定義されたマクロ定義情報に従って前記関数を呼びだすことにより、前記関数を用いて前記入力パラメータを置換することを特徴とする請求項1〜4のいずれかに記載のウェブアプリケーション検査装置。When executing the macro and replacing the input parameter with a different value, the function is used to call the function according to macro definition information in which a function that generates a different value is defined. The web application inspection apparatus according to claim 1, wherein an input parameter is replaced.
前記サイト構成情報は、The site configuration information is
前記マクロとして、ユーザ名を異なる値に置換すべき置換指令を含むことを特徴とする請求項1〜5のいずれかに記載のウェブアプリケーション検査装置。The web application inspection apparatus according to claim 1, wherein the macro includes a replacement instruction for replacing a user name with a different value.
JP2004062061A 2004-03-05 2004-03-05 Web application inspection device Expired - Fee Related JP4170243B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004062061A JP4170243B2 (en) 2004-03-05 2004-03-05 Web application inspection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004062061A JP4170243B2 (en) 2004-03-05 2004-03-05 Web application inspection device

Publications (2)

Publication Number Publication Date
JP2005250945A JP2005250945A (en) 2005-09-15
JP4170243B2 true JP4170243B2 (en) 2008-10-22

Family

ID=35031357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004062061A Expired - Fee Related JP4170243B2 (en) 2004-03-05 2004-03-05 Web application inspection device

Country Status (1)

Country Link
JP (1) JP4170243B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901185A (en) * 2020-06-05 2020-11-06 厦门亿联网络技术股份有限公司 Account number management method and device for VoIP phone automatic test system

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4849929B2 (en) 2006-03-28 2012-01-11 富士通株式会社 Scenario creation program
US20080120420A1 (en) * 2006-11-17 2008-05-22 Caleb Sima Characterization of web application inputs
US8656495B2 (en) * 2006-11-17 2014-02-18 Hewlett-Packard Development Company, L.P. Web application assessment based on intelligent generation of attack strings
JP5181503B2 (en) * 2007-03-19 2013-04-10 富士通株式会社 Scenario creation program and scenario creation device
JP4805199B2 (en) * 2007-03-20 2011-11-02 富士通株式会社 Scenario creation program and scenario creation device
JP4999719B2 (en) * 2008-02-04 2012-08-15 キヤノン株式会社 Image forming apparatus, control method therefor, and program
JP5183331B2 (en) * 2008-07-14 2013-04-17 三菱電機株式会社 Communication reproduction device
JP5737166B2 (en) * 2011-12-15 2015-06-17 富士通株式会社 Relay device, relay program, and relay method
JP5737249B2 (en) * 2012-09-19 2015-06-17 富士通株式会社 Load simulation apparatus, simulation apparatus, load simulation method, simulation method, and program
JP7217400B2 (en) * 2018-10-31 2023-02-03 GMOサイバーセキュリティbyイエラエ株式会社 Website vulnerability diagnostic device, diagnostic system, diagnostic method and diagnostic program
JP7344614B1 (en) 2023-05-08 2023-09-14 株式会社エーアイセキュリティラボ Systems, methods, and programs for testing website vulnerabilities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901185A (en) * 2020-06-05 2020-11-06 厦门亿联网络技术股份有限公司 Account number management method and device for VoIP phone automatic test system

Also Published As

Publication number Publication date
JP2005250945A (en) 2005-09-15

Similar Documents

Publication Publication Date Title
US8893282B2 (en) System for detecting vulnerabilities in applications using client-side application interfaces
CN103888490B (en) A kind of man-machine knowledge method for distinguishing of full automatic WEB client side
JP4170243B2 (en) Web application inspection device
US8306805B2 (en) Scenario generation method and scenario generation apparatus
JP2007241906A (en) Web application vulnerability dynamic inspection method and system
CN107797911A (en) Method and apparatus for testing HTTP interface
WO2011009295A1 (en) Method and device for xss detecting
JP2010157211A (en) Data processing system and method for monitoring black box web application security scan, and computer program
US10250632B2 (en) Web service testing
JP4745819B2 (en) Vulnerability determination system and inspection device
US20220198025A1 (en) Web Attack Simulator
CN105100065B (en) Webshell attack detection methods, device and gateway based on cloud
JP4587976B2 (en) Application vulnerability inspection method and apparatus
CN107888451B (en) Method and device for testing Web server
CN111124937B (en) Method and system for assisting in improving test case generation efficiency based on instrumentation function
JP4619867B2 (en) Server diagnostic device, server monitoring device, and server diagnostic program
Hoffman et al. Two case studies in grammar-based test generation
CN116361793A (en) Code detection method, device, electronic equipment and storage medium
JP2012078877A (en) Vulnerability inspection device, vulnerability inspection method and vulnerability inspection program
JP2005092564A (en) Filtering device
JP5737249B2 (en) Load simulation apparatus, simulation apparatus, load simulation method, simulation method, and program
EP4278287A1 (en) Web attack simulator
JP2006113993A (en) Test system for internet system
JP6426535B2 (en) Test support apparatus and test support method
JP6224022B2 (en) Security diagnostic apparatus, system, method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080806

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees