Sqlmap 自動インジェクションのサンプル分析
sqlmap を使用して dvwa のインジェクションを自動化する
dvwa レベルを low に設定します
dvwa の SQL インジェクションを開きます (SQL インジェクション (ブラインド)#) ## )、ブラウザーのデバッグを開き、ユーザー ID を入力して送信し、傍受されたリクエストを表示します。
- これは GET リクエストであることがわかります。URL「http://192.168.1.222:8089/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit」 #"
- これを salmap に直接入れてテストしてみます。 -u コマンドを使用します。 -u "http://192.168.1.222:8089/vulnerabilities/sqli/?id =1&Submit=Submit# "
- ここでログインする必要があることがわかります。ログインしないと脱出できません。したがって、ログインを維持するために cookie を追加する必要があります
dvwa セキュリティ レベルを調整するキャプチャしたデータ パケットを .txt ファイルとして保存し、sqlmap ディレクトリに直接 -r ファイル名 --dbs を配置します (後続のパラメータは自分で追加できます)
-
-
データを送信する URL -
-
キャプチャしたデータ パケットを .txt ファイルとして保存し、ディレクトリに置きます。次に、データベースを展開します。コマンド:
"http://192.168.1.222:8089/vulnerabilities/sqli/" --バッチ - レベル2 - dbs
#- R 1.txt- -second-url "http://192.168.1.222:8089/vulnerabilities/sqli/" - -batch --level 2 -D dvwa --tables
## - "http://192.168.1.222:8089/vulnerabilities/sqli/"
-- バッチ --レベル 2 -D dvwa -T ユーザー -- columns
フィールド データを展開します
-r 1. txt --second-url " http://192.168.1.222:8089/vulnerabilities/sqli/" --batch --level 2 -D dvwa -T users -C user,password --dump
いくつかの概念的な問題:
##二次注入: Second-order
sql注入-- Second-order インジェクションポイントで入力されたデータが返されるとき、結果が現在のページではなく別のページになる場合があります。このとき、指定する必要があります。どのページで応答を取得し、それが true か false かを判断します。 –second-url の後に、返されたページの URL アドレスが続きます
- --batch: 自動デフォルト設定、手動で [はい] または [いいえ] を押す必要はありません
level:Sqlmap には合計 5 つの検出レベルがあり、デフォルトは 1 です。レベルが高くなるほど、検出中に使用されるペイロードが増えます。このうち、レベル 5 はペイロードが最も多く、Cookie や XFF などのヘッダーを自動的にクラックして挿入します。もちろん、レベルが高くなるほど、検出時間は遅くなります。このパラメータはテストの注入ポイントに影響します。GET データと POST データがテストされます。レベルが 2 の場合、HTTP Cookie がテストされます。レベル 3 の場合、HTTP ユーザー エージェント/リファラー ヘッダーがテストされます。どのパラメータが注入ポイントであるかわからない場合は、精度を確保するためにレベル 5 に設定することをお勧めします (速度も遅くなります)
以上がSqlmap 自動インジェクションのサンプル分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









sqlmap を使用して dvwa へのインジェクションを自動化し、dvwa レベルを低く設定し、dvwa の SQLInjection (SQLInjection(Blind)) を開き、ブラウザーのデバッグを開き、ユーザー ID を入力して送信し、インターセプトされた要求を表示します。これは GET リクエストである URL「http://192.168.1.222:8089/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#」であることがわかります。これをテストするために salmap に直接入れます。 - u コマンド -u"http://192.168.1.22

0x00 概要 最近、sqlmap インジェクション テストを使用しているときに、上位バージョンの sqlmap ではインジェクションを検出できないが、下位バージョンではインジェクションを検出でき、誤検知ではなくデータが枯渇するという奇妙な現象に遭遇しました。比較テストを行って sqlmap のソース コードを表示したところ、2 つの小さな穴が見つかりました。 0x01 シナリオ再現注入ポイント形式: json..."whereparams":[{"name":"keyWord","value":"test"}]} 注入可能なパラメータ:valuesqlmap コマンド:pythonsqlmap.py-rsqlpk.txt–フラッシュ-session-vvsqlmapv1.2.11 は を注入できません

パート 1: Sqlmap の使用 1.1 sqlmap の概要 1. SQL インジェクションの基本的なステートメントをいくつか説明しましたが、手動インジェクションは非常に面倒です. データを取得するには、強力な SQL インジェクション ツールである sqlmap を使用できます 2. sqlmap の概要 (1) # sqlmap は、SQL インジェクションの脆弱性とデータベースに接続されているサーバーを自動的に検出して悪用できるオープンソースの侵入テスト ツールです。非常に強力な検出エンジン、複数の機能を備えたペネトレーション テスター、データベース フィンガープリンティングによる基盤となるファイル システムへのアクセス、および帯域外接続を介したコマンド実行を備えています。公式 Web サイト: sqlmap.org(2)#サポートされるデータベース: MySQL、Oracle、PostgreS

外部 Web サイトへの侵入テストを行う必要があるため、ほとんどの Web サイトではアクセス頻度制御が行われており、この頻度を超えると、その IP は直接禁止されます。特に SQLMAP の実行中はさらに「おばさんっぽく」なり、SQLMAP の実行が終了する前にエラーが報告されて終了します。そこで SQLMAP のプロキシ モードについて勉強し始めたのですが、SQLMAP には通常のプロキシ (HTTP プロキシ) とオニオン プロキシの 2 つのプロキシ モードがあります。当初は通常のエージェントの適用について書きたかったのですが、Baidu はこの記事が十分に詳細であると判断し、くだらない話をやめました。 Sqlmap 拡張 - 外部 IP プロキシ プールの実装 オニオン プロキシに焦点を当てましょう。当初、オニオンがインジェクションに直接使用されていたとき、「赤おばさん」レポートはありませんでした。その後、侵入 Web サイトの数が増加するにつれて、

1. はじめに SQL インジェクションを検出するにはどうすればよいですか?私の答えは、「当事者 A がセキュリティを行っている場合、SQL インジェクションの検出は比較的簡単に実行できる」です。 1) エラー挿入の検出。 2) 誤検知が比較的多いため、ブール値エラー レポートを挿入しないでください。 3) 時間ベースのタイム インジェクションを実行し、低速ログ データベース レコードを作成するための操作とメンテナンスに連絡し、スリープを監視し、ベンチマーク キーワードを監視します。位置付けを容易にするために、スリープ時間の小数点にスキャン タスクの ID 番号を追加できます。 (追記: この方法で SQL インジェクションの 99% を見つけることができます) したがって、時間ベースのタイム インジェクションを行う場合、私は時間エラーを非常に厳しく制限します。ただし、@chengable は、t に基づいて、パーティ B でセキュリティ関連の作業を行っています。

インターネット上には、sqlmap の DNS インジェクションに関する関連記事が少なすぎます。--dns-domain パラメーターについて簡単に紹介しているだけです。関連する実用的な記事は曖昧であるか、一度に言及されており、混乱を招きます (主に不正直、重要なのはまだビッグボスではありません)。そこでネット上の方法を参考に再度やってみました。準備する必要があるものには、1 つの sqlmap、Windows ブラインド インジェクション、2 つのドメイン名、および外部ネットワーク サーバーが含まれます。ある時、何かをしていた時にタイムブラインドインジェクションに出会い、たまたまWindowsマシンだったのでDNSインジェクションの方法を思い出しました。開始する前に、sqlmap の --sql-shell コマンドを使用して、DNS インジェクション ペイロードをテストする予定です。まず、burpsuite に移動します。

同社のアプリをテストしたところ、すべてのパラメーターの内容に 32 ビット文字が追加され、最終的に MD5 暗号化が実行されていることがわかりました。 APPの処理プロセスでは最初に署名が正しいかどうかを検証するため、署名検証に失敗するとデータベースにまったく入れなくなりますが、それをテストするためにSQLMAPを使用するために、プロキシデータ用のスクリプトを作成しました。データ パケットでは、そのパラメータの内容と 32 文字の暗号化された置換が実行されます。注: このスクリプトは、暗号化プロセスを知ることができたり、フロントエンド JS の暗号化方式を取得したりできるため、企業の内部システムに適しています。まず、会社のシステムをシミュレートするために、Django を使用して POST ID とトークンを取得し、カスタムの暗号化単語を追加するプログラムを作成しました。

sqlmap はファイルの読み取りと書き込みを行います。 –file-read: バックエンド データベース管理システムのファイル システムからファイルを読み取ります。 –file-write: バックエンド データベース管理システムのファイル システム上のローカル ファイルを編集します (ローカルから書き込みます) –file-dest :バックエンド データベース管理システムによって書き込まれるファイルへの絶対パス (書き込みターゲット パス)。SQL インジェクション後に上記のコマンドを使用してシステム ファイルの読み取りと書き込みを行うことができますが、前提条件として読み取りと書き込みができる必要があります。 dba. 権限を持っている場合、読み取りおよび書き込み操作は正常に実行できません。 DVWA を例として、ファイルの読み取りと書き込みを行うために kali の下に DVWA を構築します。ファイルを読み取ります。PHPinfo で関連情報を確認し、-file-r を使用します。
