sqlmap はファイルの読み取りと書き込みを行います
–file-read: バックエンド データベース管理システムのファイル システムからファイルを読み取ります
–file-write: ローカルを編集しますバックエンドデータベース管理システムのファイルシステム上のファイル(ローカルから書き込み)
–file-dest: バックエンドデータベース管理システムが書き込んだファイルの絶対パス(書き込み先パス)
SQL インジェクション後に上記のコマンドを使用してシステム ファイルの読み取りおよび書き込みを行うことができますが、前提条件として、読み取りおよび書き込み権限と dba 権限が必要です。そうでない場合、読み取りおよび書き込み操作は成功しません。 。
DVWA を例として、ファイルの読み取りと書き込みを行うために kali の下に DVWA を構築します。
ファイルを読み取ります:
PHPinfo で関連情報を確認し、-file-read コマンドを使用してファイルを読み取ります。
sqlmap -u"http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-read " /etc/php/7.3/apache2/php.ini"
ファイルが正常に読み取られると、表示された情報の最後にプロンプトが表示され、 sqlmap出力 該当パス配下のみ該当情報内容を読み込むことができます。
Write file:
ここでは、DVWA コマンド実行でパスを確認した後、/In にファイルを書き込みます。パス var/www/html/vulnerabilities/exec で、-file-write および -file-dest コマンドを使用して、書き込みが成功したことを確認します。
sqlmap -u"http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-write " /usr/test/1.txt" -file-dest "var/www/html/vulnerabilities/execl/1.txt"
(利用パス下に作成された1.txtの内容)
Sqlmap アップロード シェル (--os-shell)
--os-shell には 3 つの実行条件があります: (1) Web サイトは root 権限である必要があります (2) 攻撃者は Web サイトの絶対パスを知る必要があります (3) GPC がオフであり、PHP のアクティブエスケープ機能がオフになっている最初に --is- を使用します。 dba コマンドを使用して、自分が管理者であるかどうかを確認します。そうでない場合は、--os-shell コマンドを使用できません。下図のように、trueと表示されていれば管理者であり、管理者でない場合はfalseと表示されます。
次に、-os-shell コマンドを使用します。インジェクション ポイントが存在したら、言語を選択するように求められます。ここでの選択は、システムで使用されている言語に基づいています。DVWA 4.
Webサイトの言語選択が完了すると、パスが選択されるので、Webサイトの絶対パスがわかっている場合は、選択することができます。 2 つ、または 1 つの共通パスを選択できます。
パスの選択が完了すると、次の図に示すように、書き込み時に 404 プロンプトが表示されます。
戻って、他の設定に問題がないか確認してください。先ほど -is-dba を使用したところ、表示は true でしたが、次に current-user コマンドを使用してユーザーを表示したところ、ユーザーが dvwauser であることがわかりました。初期セットアップ中に、システムは、MariaDB がデフォルトでデータベースに接続するために root 権限を使用できないことを示すプロンプトも表示しましたが、grant all ステートメントを使用してすべての権限を dvwauser に付与し、書き込みパスも読み取りおよび書き込み権限で設定されました。 , しかし、書き込みは決して成功しませんでした. 最後に、または xampp を使用してみてください。 (root ユーザーに問題があるのか、データベースのバージョンに問題があるのか考えました。結局、xampp は正常に書き込みます。)
ユーザーが dvwauser であることを確認します:dvwauser ユーザー権限を付与します:
絶望的な気持ちで、Xampp を使用して DVWA を構築しようとしたところ、今度は正常に書き込まれていることがわかりました。
xampp を使用して書き込む前に、current-user を使用してユーザーを表示します。次の図に示すように、ユーザーは root として表示され、-is-dba は true として表示されます。
書き込みが成功したら、書き込んだファイルのパスにアクセスします。ここにアップロード用のアップロードポイントがあります。Antを使用してphpファイルをアップロードしました。剣は無事接続されました。
以上がsqlmapGetshellの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。