ホームページ  >  記事  >  運用・保守  >  sqlmapGetshellの使用方法

sqlmapGetshellの使用方法

WBOY
WBOY転載
2023-05-13 18:25:061799ブラウズ

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"

sqlmapGetshellの使用方法

ファイルが正常に読み取られると、表示された情報の最後にプロンプ​​トが表示され、 sqlmap出力 該当パス配下のみ該当情報内容を読み込むことができます。

sqlmapGetshellの使用方法sqlmapGetshellの使用方法

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"

sqlmapGetshellの使用方法

sqlmapGetshellの使用方法

(利用パス下に作成された1.txtの内容)

sqlmapGetshellの使用方法

##(書き込み成功すると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.sqlmapGetshellの使用方法

Webサイトの言語選択が完了すると、パスが選択されるので、Webサイトの絶対パスがわかっている場合は、選択することができます。 2 つ、または 1 つの共通パスを選択できます。 sqlmapGetshellの使用方法

パスの選択が完了すると、次の図に示すように、書き込み時に 404 プロンプトが表示されます。 sqlmapGetshellの使用方法

戻って、他の設定に問題がないか確認してください。先ほど -is-dba を使用したところ、表示は true でしたが、次に current-user コマンドを使用してユーザーを表示したところ、ユーザーが dvwauser であることがわかりました。初期セットアップ中に、システムは、MariaDB がデフォルトでデータベースに接続するために root 権限を使用できないことを示すプロンプトも表示しましたが、grant all ステートメントを使用してすべての権限を dvwauser に付与し、書き込みパスも読み取りおよび書き込み権限で設定されました。 , しかし、書き込みは決して成功しませんでした. 最後に、または xampp を使用してみてください。 (root ユーザーに問題があるのか​​、データベースのバージョンに問題があるのか​​考えました。結局、xampp は正常に書き込みます。) sqlmapGetshellの使用方法

ユーザーが dvwauser であることを確認します:

dvwauser ユーザー権限を付与します: sqlmapGetshellの使用方法

絶望的な気持ちで、Xampp を使用して DVWA を構築しようとしたところ、今度は正常に書き込まれていることがわかりました。 sqlmapGetshellの使用方法

sqlmapGetshellの使用方法 xampp を使用して書き込む前に、current-user を使用してユーザーを表示します。次の図に示すように、ユーザーは root として表示され、-is-dba は true として表示されます。

sqlmapGetshellの使用方法

sqlmapGetshellの使用方法 書き込みが成功したら、書き込んだファイルのパスにアクセスします。ここにアップロード用のアップロードポイントがあります。Antを使用してphpファイルをアップロードしました。剣は無事接続されました。

sqlmapGetshellの使用方法

sqlmapGetshellの使用方法

以上がsqlmapGetshellの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。