JP2012078877A - 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム - Google Patents

脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム Download PDF

Info

Publication number
JP2012078877A
JP2012078877A JP2010220381A JP2010220381A JP2012078877A JP 2012078877 A JP2012078877 A JP 2012078877A JP 2010220381 A JP2010220381 A JP 2010220381A JP 2010220381 A JP2010220381 A JP 2010220381A JP 2012078877 A JP2012078877 A JP 2012078877A
Authority
JP
Japan
Prior art keywords
input
web page
character string
input value
value
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.)
Pending
Application number
JP2010220381A
Other languages
English (en)
Inventor
Hiroki Arita
博樹 有田
Sachiko Kato
幸子 加藤
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2010220381A priority Critical patent/JP2012078877A/ja
Publication of JP2012078877A publication Critical patent/JP2012078877A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】Webページ上の入力フォームを構成する各入力欄に入力すべき入力値の推測精度を高め、より効率良く自動クロールを行うことが可能な脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラムを提供する。
【解決手段】本発明は、第1のWebページ上で入力フォームを構成する各入力欄に対応付けられて表示される各文字列に基づいて、各入力項目の入力値であって入力条件を満たすと推測される各入力値を決定し、決定した各入力値を含むリクエストを、Webアプリケーションが動作しているWebサーバへ送信するように構成した。
【選択図】図4

Description

本発明は、Webサーバ上で動作して情報提供や商品購入決済等の処理を実行するWebアプリケーションの脆弱性を検査する脆弱性検査装置及び方法等の技術分野に関する。
近年、Webサーバからクライアント端末に送信され、Webブラウザにより表示されたWebページ上の入力フォームを通じて入力された入力項目の入力値に基づいて動作するWebアプリケーションが広く普及している。一方で、Webページ上の入力フォームを通じて特殊な値が入力されることにより、Webアプリケーションにより想定外の処理が実行される場合がある。これを利用することにより、例えばデータベースに格納されている情報が漏洩したり、改ざんされたりする可能性がある。そのため、このようなWebアプリケーションの脆弱性(セキュリティ上の欠陥)の検査を行うことが一般的となってきている。Webアプリケーションの脆弱性の検査は、一般に、(1)クロール、(2)スキャン(検査)、(3)レポートという手順で行われる。具体的には、先ず、(1)クロールでは、Webサイトを巡回して検査対象となるWebページをできる限り抽出する。次に、(2)スキャンでは、抽出したWebページに対して、実際の攻撃者と同じような擬似攻撃(擬似攻撃リクエスト送信)を行う。最後に、(3)レポートでは、検査結果をレポートとして例えばディスプレイに表示する。
このような脆弱性を検査するための手法として、脆弱性によるエラーが生じた際に表示される文字列を予めデータベースに格納しておき、Webサーバからの応答中の文字列とデータベースに格納しておいた文字列を照合する方法が知られている(例えば特許文献1)。この方法では、まず、脆弱性に起因するエラーが生じると思われる検査文字列をWebサーバに送信し、これに対するWebサーバからの応答(レスポンス)中の文字列を、データベースに格納されている文字列と照合し、一致する文字列があれば該当する脆弱性が存在すると判断するようになっている。
米国特許6584569号公報
ところで、Webアプリケーションの脆弱性の検査を行う公知の検査ツールを用いて脆弱性の検査を行う場合、昨今の検査案件の増加に伴い、全てのWebサイトに対して手動で検査を行うことは困難になってきている。そのため、検査ツールによる脆弱性の自動検査が不可欠となってきている。このような自動検査を行うためには、先ずはWebページ上の入力フォームを構成する各入力欄に対して何を入力すべきかを自動的に推測して適切な入力値を決定する処理を含む自動クロールを実行する必要がある。この自動クロールでは、例えば、Webページを構成するHTML(HyperText Markup Language)文書中で入力フォームを構成する各入力欄を定義する<input>タグ内に含まれるname属性の属性値(name=“xxxxx”における「xxxxx」の部分)から入力すべき入力値を推測する。より具体的には、name=“address”となっている場合、入力欄には住所(address)を入力すべきであると推測できるので、予め用意しておいた特定の住所を示す文字列を入力欄に入力すべき入力値として決定することができる。
しかしながら、入力欄に入力すべき入力値を推測することが困難な場合がある。例えば、上述した例において、name=“adr”となっている場合、検査ツールは入力欄すべき入力値を推測することができない。このような場合、エラーチェックに引っ掛かってしまい、その先のWebページに遷移できず、その結果、入力欄に対して手動入力を行った上で、脆弱性の自動検査を行わなければならない。
そこで、本発明は、このような点に鑑みてなされたもので、Webページ上の入力フォームを構成する各入力欄に入力すべき入力値の推測精度を高め、より効率良く自動クロールを行うことが可能な脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラムを提供することを課題の一例とする。
上記課題を解決するために、請求項1に記載の発明は、1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられた第1のWebページを端末へ送信しユーザにより前記入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に第2のWebページを前記端末へ送信するように構成されたWebアプリケーションの脆弱性を検査する脆弱性検査装置において、前記第1のWebページ上で前記各入力欄に対応付けられて表示される各文字列に基づいて、前記各入力項目の各入力値であって前記入力条件を満たすと推測される前記各入力値を決定する決定手段と、前記第2のWebページのリクエストであって、前記決定手段により決定された各入力値を含むリクエストを、前記Webアプリケーションが動作しているWebサーバへ送信する送信手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の脆弱性検査装置において、前記決定手段は、前記第1のWebページから、前記入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出して、抽出した文字列を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする。 請求項3に記載の発明は、請求項1に記載の脆弱性検査装置において、前記入力項目の項目名と、前記入力値の候補と、を前記入力項目毎に対応付けて登録した第1の表を備え、前記決定手段は、前記第1のWebページ上の前記入力欄に対応して表示される文字列が、前記第1の表に登録されている項目名を含むときは、前記第1の表から当該項目名に対応付けて登録されている入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする。
請求項4に記載の発明は、請求項1に記載の脆弱性検査装置において、前記入力欄への入力方法を示す文字列と、前記入力値の候補と、を前記入力方法毎に対応付けて登録する第2の表を備え、前記決定手段は、前記第1のWebページ上の前記入力欄に対応して表示される文字列が、前記第2の表に登録されている入力方法を示す文字列を含むときは、前記第2の表から当該入力方法に対応付けて登録されている入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の脆弱性検査装置において、前記第1のWebページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグが記述された構造化文書ファイルからなり、前記決定手段は、前記複数種類のタグのうち、前記入力フォームを構成する各入力欄が表示される行を定義する開始タグと終了タグにより囲まれた文字列の中から当該入力欄へ入力される入力値を決定することを特徴とする。
請求項6に記載の発明は、請求項1に記載の脆弱性検査装置において、前記入力項目の項目名と、パラメータ名と、前記入力値の候補と、を前記入力項目毎に対応付けて登録する第1の表を備え、前記第1のWebページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグが記述された構造化文書ファイルからなり、前記決定手段は、前記複数種類のタグのうち、前記入力欄が表示される行を定義する開始タグと終了タグの間に配置されるinputタグを構成する文字列が、前記第1の表に登録されているパラメータ名を含むときは、前記第1の表から当該パラメータ名に対応付けて登録されている入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする。
請求項7に記載の発明は、請求項1乃至4の何れか一項に記載の脆弱性検査装置において、前記第1のWebページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグが記述された構造化文書ファイルからなり、前記決定手段は、前記複数種類のタグのうち、前記入力欄を定義するタグの直前又は直後に記述されている文字列から当該入力欄へ入力される入力値を決定することを特徴とする。
請求項8に記載の発明は、請求項1に記載の脆弱性検査装置において、前記入力項目の項目名と、前記入力値の候補と、を前記入力項目毎に対応付けて登録した第1の表を備え、前記決定手段は、前記第1のWebページから、前記入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出できたとき、抽出した文字列を前記入力条件を満たすと推測される前記入力値として決定し、前記入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出できないとき、前記第1のWebページ上の前記入力欄に対応して表示される文字列が、前記第1の表に登録されている項目名を含むか否かを判定し、前記第1の表に登録されている項目名を含むときは、前記第1の表から当該項目名に対応付けて登録されている前記入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする。
請求項9に記載の発明は、1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられた第1のWebページを端末へ送信しユーザにより前記各入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に第2のWebページを前記端末へ送信するように構成されたWebアプリケーションプログラムの脆弱性を検査する脆弱性検査方法において、検査装置が、前記第1のWebページ上で前記各入力欄に対応付けられて表示される各文字列に基づいて、前記各入力項目の入力値であって前記入力条件を満たすと推測される前記各入力値を決定するステップと、前記検査装置が、前記第2のWebページのリクエストであって、前記決定された各入力値を含むリクエストを、前記Webアプリケーションプログラムを実行しているWebサーバへ送信するステップと、を含むことを特徴とする。
請求項10に記載の発明は、1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられた第1のWebページを端末へ送信しユーザにより前記各入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に第2のWebページを前記端末へ送信するように構成されたWebアプリケーションプログラムの脆弱性を検査するコンピュータを、前記第1のWebページ上で前記各入力欄に対応付けられて表示される各文字列に基づいて、前記各入力項目の入力値であって前記入力条件を満たすと推測される前記各入力値を決定する決定手段、及び前記第2のWebページのリクエストであって、前記決定手段により決定された各入力値を含むリクエストを、前記Webアプリケーションプログラムを実行しているWebサーバへ送信する送信手段として機能させる脆弱性検査プログラムである。
本発明によれば、第1のWebページ上で入力フォームを構成する各入力欄に対応付けられて表示される各文字列に基づいて、各入力項目の入力値であって入力条件を満たすと推測される各入力値を決定し、決定した各入力値を含むリクエストを、Webアプリケーションが動作しているWebサーバへ送信するように構成したので、Webページ上の入力フォームを構成する各入力欄に入力すべき入力値の推測精度を高め、より効率良く自動クロールを行うことができる。
(A)は、本実施形態に係る脆弱性検査装置の概要構成例を示す図である。(B)は、入力値抽出用テーブル12a〜12c、及び補助テーブル12dの登録例を示す図である。 入力項目の項目名、入力欄への入力方法、及び入力例が表示された第1のWebページの一例を示す図である。 図2に示す第1のWebページのHTML文書の一例を示す図である。 自動入力クローラ部15aにおける自動クロール処理の一例を示すフローチャートである。 (A)に、確認画面を有する第2のWebページの一例を示す図である。(B)に、エラーメッセージ(エラー画面)が含まれるWebページの一例を示す図である。(C)は、項目名が“郵便番号”である入力項目に対応するHTMLソースを示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。
先ず、本発明の一実施形態に係る脆弱性検査装置の構成について、図1を用いて説明する。図1(A)は、本実施形態に係る脆弱性検査装置の概要構成例を示す図である。この脆弱性検査装置1は、インターネット等からなるネットワークNWに接続されたWebサーバSA上で動作するWebアプリケーション(ソフトウェア)APの脆弱性の検査を行う装置である。なお、図1(A)の例では、WebサーバSA及びWebアプリケーションAPは夫々1つずつ図示しているが、実際には、例えば、ショッピングやブログサイト等の様々なWebサイト毎に複数存在する。検査対象となるWebアプリケーションAPは、1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられたWebページをクライアント端末(図示せず)へ送信しユーザにより入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に、後に続くWebページをクライアント端末へ送信するように構成されている。ここで、クライアント端末は、WebサーバSAからWebページを取得して表示するWebブラウザ(ソフトウェア)がインストールされた装置であり、例えば、パーソナルコンピュータ、携帯電話機、又はスマートフォン等が一例として挙げられる。
本実施形態に係る脆弱性検査装置1は、図1(A)に示すように、通信部11、記憶部12、操作部13、表示部14、及び演算処理部15等を含んで構成されている。
通信部11は、ネットワークNWを通じてWebサーバSAとの間の通信制御を行う。
記憶部12は、例えばハードディスクドライブ等から構成され、ここには、オペレーティングシステム、及び脆弱性検査プログラム等が記憶されている。
また、記憶部12には、各種テーブル(表)が記憶されている。例えば、図1(A)に示すように、記憶部12には、自動クロールを実行するために必要な入力値抽出用テーブル12a〜12c、及び補助テーブル12dが設けられている。図1(B)は、入力値抽出用テーブル12a〜12c、及び補助テーブル12dの登録例を示す図である。入力値抽出用テーブル12a(第1の表の一例)には、パラメータ名と、入力項目の項目名と、入力値の候補とが、入力項目毎に対応付けられて登録されている。ここで、パラメータ名は、入力項目に対応するname属性の属性値を示す。また、入力値の候補は、入力項目の入力値に入力すべき入力値の候補である。また、入力値抽出用テーブル12b(第2の表の一例)には、入力欄への入力方法を示す文字列と、入力値の候補と、が入力方法毎に対応付けられて登録されている。ここで、入力方法は、例えば、入力欄に入力される文字種や文字数等を規定する入力条件の全部又は一部を示す。また、入力値抽出用テーブル12cには、同じ意味を表す同義語が対応付けられて登録されている。また、補助テーブル12dは、入力欄に対応付けられて表示される文字列が入力方法を示す文字列かどうかを調べる際に、入力値抽出用テーブル12bと合わせて参照することにより、数字(漢字等)を何文字入力すべきかを判定するために用いられる。
操作部13は、検査者からの指示を受け付け、その指示信号を演算処理部15へ出力する。
表示部14は、演算処理部15からの指令に応じて、検査結果等の情報をディスプレイに表示する。
演算処理部15は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等から構成されており、CPUが脆弱性検査プログラムを実行することにより、自動入力クローラ部15a、脆弱性検査部15b、及び検査結果出力部15c等として機能する。なお、自動入力クローラ部15aは、本発明における特定手段、決定手段、及び送信手段の一例である。
自動入力クローラ部15aは、Webブラウザ機能を有し、WebサイトのURL(Uniform Resource Locator)にしたがってWebサーバSAにアクセスして検査対象となるWebページを取得する。なお、WebサイトのURLは、例えば記憶部12に予め記憶されたURL登録リストから取得される。URL登録リストには、検査者側により、予め決定された多数のWebサイトのURLが登録されている。また、Webページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグ(<…>)が記述されたHTML(HyperText Markup Language)文書等の構造化文書ファイルからなる。
そして、自動入力クローラ部15aは、検査対象として取得したWebページ(このWebページを、以下、「第1のWebページ」という)上で各入力欄に対応付けられて表示される各文字列に基づいて、各入力項目の入力値であって入力条件を満たすと推測される各入力値を決定する処理を行う。ここで、入力欄に対応付けられて表示される文字列としては、例えば、入力項目の項目名、入力欄への入力方法、及び入力例が挙げられる。入力例は、ユーザにより入力欄に入力値が入力される際の参考となる文字列である。
図2に、入力項目の項目名、入力欄への入力方法、及び入力例が表示された第1のWebページの一例を示す。また、図3に、図2に示す第1のWebページのHTML文書(HTMLソース)の一例を示す。図2の例において、破線51内に示される文字列は、入力項目の項目名を示す。各項目名は、破線52内に示される各入力欄に対応付けられて(横並びに)表示されている。また、破線53内に示される文字列は、入力欄への入力例を示す。図2の例では、項目名が「住所」と「メールアドレス」に対してのみ入力例が、各入力欄に対応付けられて表示されている。また、破線54内に示される文字列は、入力欄への入力方法を示す。なお、図2の例では、各入力項目の入力欄及び文字列は一行毎に表示されている。また、図3の例において、複数種類のタグのうち、入力フォームを構成する各入力欄が表示される行を定義するtrタグである<tr>(開始タグ)と</tr>(終了タグ)により囲まれた文字列の中に、その入力欄に対応する項目名、入力例、及び入力方法を示す文字列が含まれている。
なお、入力条件を満たすと推測される入力値を決定する処理の具体例については後述する。
そして、自動入力クローラ部15aは、入力条件を満たすと推測される入力値を決定すると、第1のWebページの後に続く(つまり、第1のWebページから遷移する)Webページ(このWebページを、以下、「第2のWebページ」という)のリクエストであって、上記決定した各入力値を含むリクエストを、WebアプリケーションAPが動作しているWebサーバSAへ送信するようになっている。このリクエストは、第2のWebページの送信要求を示すHTTP(HyperText Transfer Protocol)リクエストである。そして、このリクエストに含まれる各入力値が所定の入力条件を満たす場合、WebサーバSAから第2のWebページがレスポンスとして自動入力クローラ部15aへ送信されることになる。これにより、自動入力クローラ部15aは、第1のWebページを検査対象となるWebページとして特定する。一方、このリクエストに含まれる各入力値の中で、一つでも入力条件を満たさない入力値がある場合、WebサーバSAからエラーメッセージが含まれるWebページがレスポンスとして自動入力クローラ部15aへ送信されることになる。なお、第2のWebページにも入力フォームが設けられている場合、自動入力クローラ部15aは、第2のWebページ(この場合、第2のWebページは第1のWebページとして扱われる)に対しても、上記と同様に入力条件を満たすと推測される入力値を決定する処理を行うことになる。
脆弱性検査部15bは、検査対象となるWebページに対して脆弱性を検査する処理を行う。例えば、脆弱性検査部15bは、検査対象となるWebページに設けられた入力フォームを構成する入力欄に特殊な値(例えば、スクリプト等)を入力し擬似攻撃リクエストをWebサーバSAに送信し、そのレスポンスに基づいて脆弱性を検査する。なお、脆弱性を検査する処理は、公知の種々の方法を利用することができるので、これ以上の詳しい説明は省略する。
検査結果出力部15cは、脆弱性検査部15bによる検査結果をレポートとして表示部14のディスプレイに表示する。
次に、脆弱性検査装置1における自動入力クローラ部15aの自動クロール処理の具体例について図4等を用いて説明する。図4は、自動入力クローラ部15aにおける自動クロール処理の一例を示すフローチャートである。なお、この自動クロール処理の前段階で、例えば検査者により、入力値の候補と項目名等とが対応付けられて入力値抽出用テーブル12a,12bに登録される。
図4に示す処理は、例えば、WebサーバSAから検査対象となる第1のWebページが取得されることにより開始される。図4に示す処理が開始されると、自動入力クローラ部15aは、複数の入力項目のうち、一の入力項目に対応するテキストデータを第1のWebページから抽出する(ステップS1)。例えば、自動入力クローラ部15aは、第1のWebページのHTML文書において最初に記述されたtrタグである<tr>と</tr>により囲まれたテキストデータを、一の入力項目(例えば、項目名が“名前”である入力項目)に対応するテキストデータとして抽出する。これにより、当該一の入力項目に対応する入力欄が表示される行を定義するtrタグである<tr>と</tr>により囲まれた文字列の中から、当該入力項目の入力値が、以降の処理で決定されることになる。
次いで、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄に入力例を示す文字列が対応付けられているか否かを判定する(ステップS2)。一般に、入力欄を定義するinputタグ(<input type=“…”>)の直後には、入力方法を示す文字列、又は入力例を示す文字列が記述されている(図3参照)。そこで、自動入力クローラ部15aは、入力欄を定義するinputタグの直後に文字列が記述されている場合、この文字列が、入力例を示すか、又は入力方法を示すかを区別することで、入力欄に入力例を示す文字列が対応付けられているか否かを判定する。例えば、自動入力クローラ部15aは、inputタグの直後に記述されている文字列中に、入力例中で一般に使用される文字(この文字は事前に設定される)が含まれている場合、入力欄に入力例を示す文字列が対応付けられていると判定する。なお、入力例中で一般に使用される文字としては、例えば、「例」や「※」などの特定の文字が挙げられる。つまり、自動入力クローラ部15aは、当該入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出する。一方、自動入力クローラ部15aは、inputタグの直後に記述されている文字列中に、入力例中で一般に使用される文字が含まれていない場合、入力欄に入力例を示す文字列が対応付けられていないと判定する。
或いは、inputタグの直後に記述されている文字列中に入力例中で一般に使用される文字が含まれていない場合において、inputタグの直後に記述されている文字列中に入力値抽出用テーブル12bに登録されている文字列(入力方法を示す文字列)が含まれていない場合、入力クローラ部15aは、入力欄に入力例を示す文字列が対応付けられていると判定するように構成してもよい。
そして、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄に入力例を示す文字列が対応付けられていると判定した場合には(ステップS2:YES)、当該入力例を示す文字列を入力条件を満たすと推測される入力値として決定し(ステップS3)、ステップS11に進む。つまり、第1のWebページから、当該入力欄の入力例として表示される文字列が、予め定められた特定の文字を手がかりに抽出できたとき、抽出された文字列が、入力条件を満たすと推測される入力値として決定されることになる。こうして決定された入力値は、上記抽出されたテキストデータに対応する入力欄を定義するinputタグ内に記述されたパラメータ名(name属性の属性値)に対応付けられて記憶される(この入力値及びパラメータ名は、ステップS12でリクエストに含められる)。このように、先ずは入力例を示す文字列から入力値を決定することで、より推測精度を高めることができる。つまり、Webページの作成者により提示された入力例を利用することで、より確実に入力条件を満たす入力値を決定することができる。
一方、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄に入力例を示す文字列が対応付けられていないと判定した場合(言い換えれば、入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出できないとき)には(ステップS2:NO)、当該入力欄に対応する入力項目の項目名が当該入力欄に対応付けられているか否かを判定(言い換えれば、第1のWebページ上の当該入力欄に対応して表示される文字列が、入力値抽出用テーブル12aに登録されている項目名を含むか否かを判定)する(ステップS4)。一般に、入力欄が表示される行を定義するtrタグである<tr>(開始タグ)の直後には、項目名を示す文字列が記述されている(図3参照)。そこで、自動入力クローラ部15aは、入力欄が表示される行を定義するtrタグである<tr>(開始タグ)の直後に文字列が記述されている場合、この文字列(項目名を示す文字列と見做す)が入力値抽出用テーブル12aに登録されているか否かを判別することで、当該入力欄に対応する入力項目の項目名が当該入力欄に対応付けられているか否かを判定する。また、入力欄を定義するinputタグ(<input type=“…”>)の直前に、項目名を示す文字列が記述されている場合もある(図示せず)。そこで、自動入力クローラ部15aは、入力欄を定義するinputタグの直前に文字列が記述されている場合、この文字列が入力値抽出用テーブル12aに登録されているか否かを判別することで、当該入力欄に対応する入力項目の項目名が当該入力欄に対応付けられているか否かを判定するように構成してもよい。
そして、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄の入力項目の項目名が当該入力欄に対応付けられていると判定した場合には(ステップS4:YES)、当該文字列で示される項目名に対応付けられている入力値の候補を、入力値抽出用テーブル12aから取得し、当該取得した入力値の候補を入力条件を満たすと推測される入力値として決定し(ステップS5)、ステップS11に進む。つまり、第1のWebページ上の当該入力欄に対応して表示される文字列が、入力値抽出用テーブル12aに登録されている項目名を含むときは、入力値抽出用テーブル12aから当該項目名に対応付けて登録されている入力値の候補が取得され、当該取得された入力値の候補が、入力条件を満たすと推測される入力値として決定されることになる。こうして決定された入力値は、上記抽出されたテキストデータに対応する入力欄を定義するinputタグ内に記述されたパラメータ名に対応付けられて記憶される(この入力値及びパラメータ名は、ステップS12でリクエストに含められる)。
一方、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄の入力項目の項目名が当該入力欄に対応付けられていないと判定した場合には(ステップS4:NO)、当該入力欄にパラメータ名が対応付けられているか否かを判定する(ステップS6)。例えば、自動入力クローラ部15aは、当該入力欄を定義するinputタグ内に記述されているパラメータ名が、入力値抽出用テーブル12aに登録されているか否かを判別することで、当該入力欄にパラメータ名が対応付けられているか否かを判定する。
そして、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄にパラメータ名が対応付けられていると判定した場合には(ステップS6:YES)、当該パラメータ名に対応付けられている入力値の候補を、入力値抽出用テーブル12aから取得し、当該取得した入力値の候補を入力条件を満たすと推測される入力値として決定し(ステップS7)、ステップS11に進む。つまり、入力欄が表示される行を定義するtrタグである<tr>(開始タグ)と</tr>(終了タグ)の間に配置されるinputタグを構成する文字列が、入力値抽出用テーブル12aに登録されているパラメータ名を含むときは、当該入力値抽出用テーブル12aから当該パラメータ名に対応付けて登録されている入力値の候補が取得され、当該取得された入力値の候補が、入力条件を満たすと推測される入力値として決定されることになる。こうして決定された入力値は、当該パラメータ名に対応付けられて記憶される(この入力値及びパラメータ名は、ステップS12でリクエストに含められる)。
一方、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄にパラメータ名が対応付けられていないと判定した場合には(ステップS6:NO)、当該入力欄に入力方法を示す文字列が対応付けられているか否かを判定する(ステップS8)。例えば、自動入力クローラ部15aは、inputタグの直後に記述されている文字列が入力値抽出用テーブル12bに登録されているか否かを判別することで、当該入力欄に入力方法を示す文字列が当該入力欄に対応付けられているか否かを判定する。
そして、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄に入力方法を示す文字列が対応付けられていると判定した場合には(ステップS8:YES)、当該入力方法を示す文字列に対応付けられている入力値の候補を、入力値抽出用テーブル12bから取得する。ここで、入力方法を示す文字列中に文字数が示されている場合、当該入力値の候補の例えば先頭からその文字数分が、入力値の候補として取得される。なお、文字数が示されているかどうかは補助テーブル12dを参照することにより判定することができる。例えば、入力方法を示す文字列中に、補助テーブル12dに登録された“文字以内”という文字列が含まれる場合、文字数が示されていると判定される。
そして、自動入力クローラ部15aは、当該取得した入力値の候補を入力条件を満たすと推測される入力値として決定し(ステップS9)、ステップS11に進む。つまり、第1のWebページ上の当該入力欄に対応して表示される文字列が、入力値抽出用テーブル12bに登録されている入力方法を示す文字列を含むときは、入力値抽出用テーブル12bから当該入力方法に対応付けて登録されている入力値の候補が取得され、当該取得された入力値の候補が、入力条件を満たすと推測される入力値として決定されることになる。こうして決定された入力値は、上記抽出されたテキストデータに対応する入力欄を定義するinputタグ内に記述されたパラメータ名に対応付けられて記憶される(この入力値及びパラメータ名は、ステップS12でリクエストに含められる)。
一方、自動入力クローラ部15aは、抽出したテキストデータに対応する入力欄に入力方法を示す文字列が対応付けられていないと判定した場合には(ステップS8:NO)、例えば予め設定された入力値の候補(例えば、任意の英数字が所定数連続した値)を入力条件を満たすと推測される入力値として決定し(ステップS10)、ステップS11に進む。こうして決定された入力値は、上記抽出されたテキストデータに対応する入力欄を定義するinputタグ内に記述されたパラメータ名に対応付けられて記憶される(この入力値及びパラメータ名は、ステップS12でリクエストに含められる)。
そして、ステップS11では、自動入力クローラ部15aは、複数の入力項目のうち、未だテキストデータが抽出されていない入力項目が有るか否かを判定し、無いと判定した場合には(ステップS11:NO)、ステップS12へ進む。一方、自動入力クローラ部15aは、未だテキストデータが抽出されていない入力項目が有ると判定した場合には(ステップS11:YES)、ステップS1に戻り、複数の入力項目のうち、未だテキストデータが抽出されていない入力項目(例えば、項目名が“郵便番号”である入力項目)に対応するテキストデータを第1のWebページから抽出し、当該抽出したテキストデータに対して、上記と同様にステップS2以降の処理を行う。こうして、第1のWebページに設けられた全ての入力欄への入力値が決定される。
ステップS12では、自動入力クローラ部15aは、第1のWebページに設けられた各入力欄に対して決定された各入力値及びパラメータ名を含むリクエスト(第2のWebページのリクエスト)を、上記第1のWebページの取得元のWebサーバSAへ送信する。こうしてリクエストを受信したWebサーバSAのWebアプリケーションAPは、当該リクエストに含まれる各入力値を受け付け当該各入力値が所定の入力条件を満たす場合に例えば確認画面が含まれる第2のWebページをレスポンスとして自動入力クローラ部15aへ送信する。図5(A)に、確認画面を有する第2のWebページの一例を示す。図5(A)に示すWebページ上にはエラーメッセージは表示されない。
一方、WebアプリケーションAPは、リクエストに含まれる入力値の中で入力条件を満たさない入力値がある場合、当該入力値に対応するパラメータ名に対して予め設定されたエラーメッセージが含まれるWebページをレスポンスとして自動入力クローラ部15aへ送信する。図5(B)に、エラーメッセージ(エラー画面)が含まれるWebページの一例を示す。図5(B)の例では、項目名が“郵便番号”と、“会社名”と、“メールアドレス”である入力項目に対してエラーメッセージが表示されている。このうち、項目名が“郵便番号”である入力項目に対するエラーメッセージは、「郵便番号を入力してください。※数字3文字−(ハイフン)数字4文字」という文字列から構成されている。なお、図5(C)は、項目名が“郵便番号”である入力項目に対応するHTMLソースを示す図である。
次いで、自動入力クローラ部15aは、Webページからレスポンスとして送信されたWebページを受信すると(ステップS13)、当該Webページにエラーメッセージが含まれるか否かを判定する(ステップS14)。例えば、自動入力クローラ部15aは、受信されたWebページのHTML文書中に、エラーメッセージ中で一般に使用される文字(この文字は事前に設定される)が含まれている場合、当該Webページにエラーメッセージが含まれていると判定する。これにより、エラーメッセージの文字列が特定される。なお、エラーメッセージ中で一般に使用される文字としては、例えば、「を入力してください」などの文字列が挙げられる。また、例えば、「を入力してください」の前又は後に、入力方法を示す文字列(例えば、“全角文字”又は“数字3文字”)又は入力例を示す文字列が記述されている場合に、当該Webページにエラーメッセージが含まれていると判定されるように構成してもよい。また、エラーメッセージが含まれるWebページのHTML文書には、パラメータ名が記述されていないことが多い。そのため、受信されたWebページのHTML文書中にパラメータ名が記述されていない場合、当該Webページにエラーメッセージが含まれていないと判定されるように構成してもよい。
そして、自動入力クローラ部15aは、Webページにエラーメッセージが含まれないと判定した場合には(ステップS14:NO)、検査対象として取得したWebページに対する上記処理を終了し、次の検査対象となるWebページに対する上記処理を開始する。ここで、次の検査対象となるWebページには、上記第2のWebページに入力フォームが設けられていれば、この第2のWebページが該当する。一方、上記第2のWebページに入力フォームが設けられていなければ、次の検査対象となるWebページには、URL登録リストに登録された次のURLにしたがってWebサーバSAから取得された次の第1のWebページが該当する。そして、自動入力クローラ部15aにより例えばURL登録リストに登録された全てのURLに対応するWebサイトから取得されたWebページに対して上記図4に示す処理が行われた後、続いて、脆弱性検査部15bにより検査対象となるWebページに対して脆弱性を検査する処理が行われることになる。
なお、Webページにエラーメッセージが含まれない場合、このWebページに設けられた入力欄への入力値は確定したことになる。そのため、自動入力クローラ部15aは、特に、入力例を示す文字列から決定された入力値を、次回以降に使用可能な入力値の候補としてパラメータ名等に対応付けて入力値抽出用テーブル12aに登録する。これにより、入力値抽出用テーブル12aの内容が次第に充実され、入力欄に入力すべき入力値の推測精度を高めていくことができる。
一方、自動入力クローラ部15aは、Webページにエラーメッセージが含まれると判定した場合には(ステップS14:YES)、ステップS15に進む。そして、ステップS15では、自動入力クローラ部15aは、当該エラーメッセージを解析して当該エラーメッセージに対応する入力欄への入力条件を満たすと推測される入力値を決定する。例えば、エラーメッセージの文字列が含まれるテキストデータを囲む<tr>と</tr>内に入力例を示す文字列が含まれる場合、自動入力クローラ部15aは、当該入力例を示す文字列を入力条件を満たすと推測される入力値として決定する。また、エラーメッセージの文字列が含まれるテキストデータを囲む<tr>と</tr>内に入力方法を示す文字列が含まれる場合、自動入力クローラ部15aは、当該入力方法を示す文字列に対応付けられている入力値の候補を、入力値抽出用テーブル12bから取得し、当該取得した入力値の候補を入力条件を満たすと推測される入力値として決定する。
ここで、図5(B),(C)に示す「郵便番号を入力してください。※数字3文字−(ハイフン)数字4文字」というエラーメッセージに基づき入力値を決定する場合について説明する。この場合、自動入力クローラ部15aは、例えば、エラーメッセージに含まれる“数字3文字”(入力方法を示す文字列)に基づき、入力値抽出用テーブル12bに登録された「半角数字」又は「全角数字」に対応付けられている入力値の候補を特定し、当該特定した入力値の候補の先頭からその3文字分取得する。このとき、自動入力クローラ部15aは、入力値抽出用テーブル12bと併せて補助テーブル12dを参照することにより「3」(字数)を判定する。同様に、自動入力クローラ部15aは、エラーメッセージに含まれる“数字4文字”に基づき、入力値抽出用テーブル12bに登録された「半角数字」又は「全角数字」に対応付けられている入力値の候補を特定し、当該特定した入力値の先頭からその4文字分取得する。このとき、自動入力クローラ部15aは、入力値抽出用テーブル12bと併せて補助テーブル12dを参照することにより「4」(字数)を判定する。また、自動入力クローラ部15aは、入力値抽出用テーブル12cを参照して、エラーメッセージに含まれる“ハイフン”に対応付けられている“−”を取得する。そして、自動入力クローラ部15aは、数字3文字と“−”と数字4文字とを組み合わせて入力値(郵便番号)を決定する。
以上のように、自動入力クローラ部15aは、エラーメッセージを解析することにより入力値を決定すると、ステップS12に移行し、当該決定した入力値を含むリクエストをWebサーバSAへ送信する。そして、WebアプリケーションAPから、再度、エラーメッセージが含まれるWebページが自動入力クローラ部15aへ送信された場合、上記ステップS15の処理が行われる。なお、同じエラーメッセージが含まれるWebページが所定回数(例えば2回)続けて受信された場合、自動入力クローラ部15aは、例えば、当該WebページのURLをエラーページリストに登録して、当該Webページに対する上記処理を終了し次の検査対象となるWebページに対する上記処理へ移行する。なお、エラーページリストにURLが登録されたWebページについては、例えば検査対象となる全てのWebページに対する上記処理の終了後に、検査者により手動で入力欄への入力操作により入力値が決定されることになる。
以上説明したように、上記実施形態によれば、自動入力クローラ部15aは、検査対象として取得した第1のWebページ上で入力フォームを構成する各入力欄に対応付けられて表示される各文字列に基づいて、各入力項目の入力値であって入力条件を満たすと推測される各入力値を決定し、決定した各入力値を含むリクエストを、WebアプリケーションAPが動作しているWebサーバSAへ送信するように構成したので、Webページ上の入力フォームを構成する各入力欄に入力すべき入力値の推測精度を高め、より効率良く自動クロールを行うことができる。これにより、複数のWebページについて連続した脆弱性の自動検査が可能となり、その結果、手動による検査の作業負荷を軽減することができる。また、複数の決定方法を用いて図4に示す処理手順で入力値を決定するように構成したので、より確実に入力値を決定することができる。
1 脆弱性検査装置
11 通信部
12 記憶部
12a〜12c 入力値抽出用テーブル
12d 補助テーブル
13 操作部
14 表示部
15 演算処理部
15a 自動入力クローラ部
15b 脆弱性検査部
15c 検査結果出力部

Claims (10)

  1. 1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられた第1のWebページを端末へ送信しユーザにより前記入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に第2のWebページを前記端末へ送信するように構成されたWebアプリケーションの脆弱性を検査する脆弱性検査装置において、
    前記第1のWebページ上で前記各入力欄に対応付けられて表示される各文字列に基づいて、前記各入力項目の各入力値であって前記入力条件を満たすと推測される前記各入力値を決定する決定手段と、
    前記第2のWebページのリクエストであって、前記決定手段により決定された各入力値を含むリクエストを、前記Webアプリケーションが動作しているWebサーバへ送信する送信手段と、
    を備えることを特徴とする脆弱性検査装置。
  2. 請求項1に記載の脆弱性検査装置において、
    前記決定手段は、前記第1のWebページから、前記入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出して、抽出した文字列を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする脆弱性検査装置。
  3. 請求項1に記載の脆弱性検査装置において、
    前記入力項目の項目名と、前記入力値の候補と、を前記入力項目毎に対応付けて登録した第1の表を備え、
    前記決定手段は、前記第1のWebページ上の前記入力欄に対応して表示される文字列が、前記第1の表に登録されている項目名を含むときは、前記第1の表から当該項目名に対応付けて登録されている入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする脆弱性検査装置。
  4. 請求項1に記載の脆弱性検査装置において、
    前記入力欄への入力方法を示す文字列と、前記入力値の候補と、を前記入力方法毎に対応付けて登録する第2の表を備え、
    前記決定手段は、前記第1のWebページ上の前記入力欄に対応して表示される文字列が、前記第2の表に登録されている入力方法を示す文字列を含むときは、前記第2の表から当該入力方法に対応付けて登録されている入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする脆弱性検査装置。
  5. 請求項1乃至4の何れか一項に記載の脆弱性検査装置において、
    前記第1のWebページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグが記述された構造化文書ファイルからなり、
    前記決定手段は、前記複数種類のタグのうち、前記入力フォームを構成する各入力欄が表示される行を定義する開始タグと終了タグにより囲まれた文字列の中から当該入力欄へ入力される入力値を決定することを特徴とする脆弱性検査装置。
  6. 請求項1に記載の脆弱性検査装置において、
    前記入力項目の項目名と、パラメータ名と、前記入力値の候補と、を前記入力項目毎に対応付けて登録する第1の表を備え、
    前記第1のWebページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグが記述された構造化文書ファイルからなり、
    前記決定手段は、前記複数種類のタグのうち、前記入力欄が表示される行を定義する開始タグと終了タグの間に配置されるinputタグを構成する文字列が、前記第1の表に登録されているパラメータ名を含むときは、前記第1の表から当該パラメータ名に対応付けて登録されている入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする脆弱性検査装置。
  7. 請求項1乃至4の何れか一項に記載の脆弱性検査装置において、
    前記第1のWebページは、当該Webページを構成する各構成要素の役割と範囲を定義する複数種類のタグが記述された構造化文書ファイルからなり、
    前記決定手段は、前記複数種類のタグのうち、前記入力欄を定義するタグの直前又は直後に記述されている文字列から当該入力欄へ入力される入力値を決定することを特徴とする脆弱性検査装置。
  8. 請求項1に記載の脆弱性検査装置において、
    前記入力項目の項目名と、前記入力値の候補と、を前記入力項目毎に対応付けて登録した第1の表を備え、
    前記決定手段は、前記第1のWebページから、前記入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出できたとき、抽出した文字列を前記入力条件を満たすと推測される前記入力値として決定し、
    前記入力欄の入力例として表示される文字列を、予め定められた特定の文字を手がかりに抽出できないとき、前記第1のWebページ上の前記入力欄に対応して表示される文字列が、前記第1の表に登録されている項目名を含むか否かを判定し、前記第1の表に登録されている項目名を含むときは、前記第1の表から当該項目名に対応付けて登録されている前記入力値の候補を取得し、当該取得した入力値の候補を、前記入力条件を満たすと推測される前記入力値として決定することを特徴とする脆弱性検査装置。
  9. 1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられた第1のWebページを端末へ送信しユーザにより前記各入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に第2のWebページを前記端末へ送信するように構成されたWebアプリケーションプログラムの脆弱性を検査する脆弱性検査方法において、
    検査装置が、前記第1のWebページ上で前記各入力欄に対応付けられて表示される各文字列に基づいて、前記各入力項目の入力値であって前記入力条件を満たすと推測される前記各入力値を決定するステップと、
    前記検査装置が、前記第2のWebページのリクエストであって、前記決定された各入力値を含むリクエストを、前記Webアプリケーションプログラムを実行しているWebサーバへ送信するステップと、
    を含むことを特徴とする脆弱性検査方法。
  10. 1つ以上の入力項目の各々に対応する入力欄から構成される入力フォームが設けられた第1のWebページを端末へ送信しユーザにより前記各入力フォームを通じて入力された各入力項目の入力値を受け付け当該各入力値が所定の入力条件を満たす場合に第2のWebページを前記端末へ送信するように構成されたWebアプリケーションプログラムの脆弱性を検査するコンピュータを、
    前記第1のWebページ上で前記各入力欄に対応付けられて表示される各文字列に基づいて、前記各入力項目の入力値であって前記入力条件を満たすと推測される前記各入力値を決定する決定手段、及び
    前記第2のWebページのリクエストであって、前記決定手段により決定された各入力値を含むリクエストを、前記Webアプリケーションプログラムを実行しているWebサーバへ送信する送信手段として機能させることを特徴とする脆弱性検査プログラム。
JP2010220381A 2010-09-30 2010-09-30 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム Pending JP2012078877A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010220381A JP2012078877A (ja) 2010-09-30 2010-09-30 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010220381A JP2012078877A (ja) 2010-09-30 2010-09-30 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム

Publications (1)

Publication Number Publication Date
JP2012078877A true JP2012078877A (ja) 2012-04-19

Family

ID=46239102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010220381A Pending JP2012078877A (ja) 2010-09-30 2010-09-30 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム

Country Status (1)

Country Link
JP (1) JP2012078877A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123298A (ja) * 2012-12-21 2014-07-03 Fujitsu Ltd 情報管理プログラム及び情報管理方法
JP2019191689A (ja) * 2018-04-19 2019-10-31 Heroz株式会社 ウェブ検査プログラム及びウェブ検査装置
US11036849B2 (en) 2016-05-10 2021-06-15 Huawei Technologies Co., Ltd. Threat detection method and apparatus, and network system
CN113377645A (zh) * 2020-02-25 2021-09-10 福建天泉教育科技有限公司 一种web网站页面输入非法字符的测试方法及其系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123298A (ja) * 2012-12-21 2014-07-03 Fujitsu Ltd 情報管理プログラム及び情報管理方法
US11036849B2 (en) 2016-05-10 2021-06-15 Huawei Technologies Co., Ltd. Threat detection method and apparatus, and network system
US11604872B2 (en) 2016-05-10 2023-03-14 Huawei Technologies Co., Ltd. Threat detection method and apparatus, and network system
JP2019191689A (ja) * 2018-04-19 2019-10-31 Heroz株式会社 ウェブ検査プログラム及びウェブ検査装置
JP7053017B2 (ja) 2018-04-19 2022-04-12 Heroz株式会社 ウェブ検査プログラム及びウェブ検査装置
CN113377645A (zh) * 2020-02-25 2021-09-10 福建天泉教育科技有限公司 一种web网站页面输入非法字符的测试方法及其系统
CN113377645B (zh) * 2020-02-25 2023-07-04 福建天泉教育科技有限公司 一种web网站页面输入非法字符的测试方法及其系统

Similar Documents

Publication Publication Date Title
US10261984B2 (en) Browser and operating system compatibility
US9846690B2 (en) Automating interrogative population of electronic forms using a real-time communication platform
US20140059219A1 (en) Monitoring the health of web page analytics code
US10901730B2 (en) Identifying equivalent javascript events
US20220121723A1 (en) Distributed systems and methods for facilitating website remediation and promoting assistive technologies and detecting compliance issues
CN104063401B (zh) 一种网页样式地址合并的方法和装置
US9229835B2 (en) Method and apparatus for monitoring state of online application
US20140006927A1 (en) Method for detecting and analyzing site quality
TW201800962A (zh) 網頁文件發送方法、網頁渲染方法及裝置、網頁渲染系統
US8332821B2 (en) Using encoding to detect security bugs
CN104021154B (zh) 一种在浏览器中进行搜索的方法和装置
JP2016540333A (ja) 端末標記方法、端末標記装置、プログラム及び記録媒体
JP2012078877A (ja) 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム
JP5112401B2 (ja) Web行動履歴取得システム、Web行動履歴取得方法、ゲートウェイ装置、及びプログラム
KR20100100161A (ko) 웹 콘텐츠의 브라우저 호환성 검사 방법 및 그 장치
JP4170243B2 (ja) ウェブアプリケーション検査装置
US8862737B2 (en) Application integration of network data based on resource identifiers
CN103678341A (zh) 数据库交互系统及方法
CN109657472B (zh) Sql注入漏洞检测方法、装置、设备及可读存储介质
CN102135970A (zh) 网站内容下载方法和装置
CN104063488A (zh) 一种半自动化学习式的表单特征提取方法
KR20190040046A (ko) 정보 수집 시스템, 정보 수집 방법 및 기록 매체
TWI494781B (zh) 網頁資訊保存系統及方法
US11829434B2 (en) Method, apparatus and computer program for collecting URL in web page
US8082259B2 (en) Information processing apparatus for extracting objects