
SQLインジェクションのセキュリティ欠陥を検出および悪用するプロセスを自動化する高度なクロスプラットフォームツール
SQLインジェクションのセキュリティ欠陥を検出・悪用するプロセスを自動化する、高度なクロスプラットフォームツールです。

pip3python3 -m pip install --upgrade -r requirements.txtpython3 setup.py install または python3 -m pip install -e .ghauri --help コマンドで ghauri にアクセスして実行できるようになります。または
GitHub リポジトリをクローンすることで、Ghauri の最新バージョンをダウンロードできます。
git clone https://github.com/r0oth3x49/ghauri.git
--proxy をサポート。-r file.txt--start 1 --stop 2--skip-urlencode のサポートを追加。--sql-shell のサポートを追加 (実験的)。--fresh-queries のサポートを追加。--hostname を追加。--update を追加。
Author: Nasir khan ()
usage: ghauri -u URL [OPTIONS]
A cross-platform python based advanced sql injections detection & exploitation tool.
General:
-h, --help Shows the help.
--version Shows the version.
--update update ghauri
-v VERBOSE Verbosity level: 1-5 (default 1).
--batch Never ask for user input, use the default behavior
--flush-session Flush session files for current target
--fresh-queries Ignore query results stored in session file
--test-filter Select test payloads by titles (experimental)
Target:
At least one of these options has to be provided to define the
target(s)
-u URL, --url URL Target URL (e.g. 'http://www.site.com/vuln.php?id=1).
-m BULKFILE Scan multiple targets given in a textual file
-r REQUESTFILE Load HTTP request from a file
Request:
These options can be used to specify how to connect to the target URL
-A , --user-agent HTTP User-Agent header value
-H , --header Extra header (e.g. "X-Forwarded-For: 127.0.0.1")
--mobile Imitate smartphone through HTTP User-Agent header
--random-agent Use randomly selected HTTP User-Agent header value
--host HTTP Host header value
--data Data string to be sent through POST (e.g. "id=1")
--cookie HTTP Cookie header value (e.g. "PHPSESSID=a8d127e..")
--referer HTTP Referer header value
--headers Extra headers (e.g. "Accept-Language: fr\nETag: 123")
--proxy Use a proxy to connect to the target URL
--delay Delay in seconds between each HTTP request
--timeout Seconds to wait before timeout connection (default 30)
--retries Retries when the connection related error occurs (default 3)
--confirm Confirm the injected payloads.
--ignore-code Ignore (problematic) HTTP error code(s) (e.g. 401)
--skip-urlencode Skip URL encoding of payload data
--force-ssl Force usage of SSL/HTTPS
Optimization:
These options can be used to optimize the performance of ghauri
--threads THREADS Max number of concurrent HTTP(s) requests (default 1)
Injection:
These options can be used to specify which parameters to test for,
provide custom injection payloads and optional tampering scripts
-p TESTPARAMETER Testable parameter(s)
--dbms DBMS Force back-end DBMS to provided value
--prefix Injection payload prefix string
--suffix Injection payload suffix string
--safe-chars Skip URL encoding of specific character(s): (e.g:- --safe-chars="[]")
--fetch-using Fetch data using different operator(s): (e.g: --fetch-using=between/in)
Detection:
These options can be used to customize the detection phase
--level LEVEL Level of tests to perform (1-3, default 1)
--code CODE HTTP code to match when query is evaluated to True
--string String to match when query is evaluated to True
--not-string String to match when query is evaluated to False
--text-only Compare pages based only on the textual content
Techniques:
These options can be used to tweak testing of specific SQL injection
techniques
--technique TECH SQL injection techniques to use (default "BEST")
--time-sec TIMESEC Seconds to delay the DBMS response (default 5)
Enumeration:
These options can be used to enumerate the back-end database
management system information, structure and data contained in the
tables.
-b, --banner Retrieve DBMS banner
--current-user Retrieve DBMS current user
--current-db Retrieve DBMS current database
--hostname Retrieve DBMS server hostname
--dbs Enumerate DBMS databases
--tables Enumerate DBMS database tables
--columns Enumerate DBMS database table columns
--count Retrieve number of entries for table(s)
--dump Dump DBMS database table entries
-D DB DBMS database to enumerate
-T TBL DBMS database tables(s) to enumerate
-C COLS DBMS database table column(s) to enumerate
--start Retrieve entries from offset for dbs/tables/columns/dump
--stop Retrieve entries till offset for dbs/tables/columns/dump
--sql-shell Prompt for an interactive SQL shell (experimental)
Example:
ghauri -u http://www.site.com/vuln.php?id=1 --dbs
Ghauri を事前の相互同意なしにターゲットへの攻撃に使用することは違法です。
適用されるすべての地域、州、連邦の法律を遵守するのはエンドユーザーの責任です。
開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害についても責任を負いません。
Ghauri が SQLMap と比較して成功した事例を強調する記事や投稿は数多くあります。私は Ghauri と SQLMap を直接比較しているわけではありませんが、多くのユーザーがそうしています。このプロジェクトを始めたのは、日常業務において、一見単純な SQL インジェクションでさえも、SQLMap を効果的に設定・使用する際に頻繁に大きな課題に直面したからです。これらのインジェクションは単純に見えるにもかかわらず、SQLMap はしばしばそれらを検出できませんでした。友人に励まされて、独自のツールを作成することにしました。私はこれまでに、特定のケースごとに調整された多数の悪用スクリプトを開発しており、これらの手法を単一のモジュールに統合することの潜在的な利点に気付きました。それが Ghauri の作成につながり、その有効性によりコミュニティから好評を得て、ポジティブなフィードバックとスターを獲得しています。
Stamparam 氏も Ghauri を認めており、ツイートで「内部の書き換え」と表現し、内部メカニズムの重要性を強調しています。
例えば、脆弱な HTTP リクエストをファイルに保存し(認証の背後にある SQLi)、それを -r スイッチを使って Ghauri と SQLMap の両方に提供できます。結果はカスタム設定を必要とせずに自明です。
Ghauri はブラウザのような動作と独自の方法の両方で動作し、異なるデータ抜き出し技術やバイパスに自動的に切り替えます。繰り返しますが、Ghauri にはまだ実装すべき機能が多く、SQLMap はすでに機能が豊富であるため、直接的な比較ではありません。しかし、Ghauri は必要なタスクを一貫して実行します。
このツールを開発して以来、Ghauri がまだ改善中の数少ないケースを除いて、SQLMap をほとんど使用していません。
ぜひ自分で試してみてください。ありがとうございます。
git pullghauri --update--ignore-code を追加。--count を追加。-m を追加 (実験的)。--random-agent, --mobile を追加。